Вопрос

У меня есть строка в форме Django:

{% for aa in my_array %}

который, кажется, вызывает эту ошибку:

  

Ошибка шаблона

     

Оказалось исключение при рендеринге:   Обратный для   'dev_env.profiles.views.viewPlan' с   аргументы '(' ',)' и ключевое слово   аргументы "{}" не найдены.

Что на самом деле означает это сообщение об ошибке?

Я подозреваю, что либо строка правильная, но сообщение об ошибке неверное. Или ошибка реальна, но эта строка - красная сельдь.

Что я должен искать?

Обновление: Пауло отсортировал это ниже.

На самом деле у меня было {% url viewPlan planId%} на расстоянии нескольких строк (так что сообщенная строка ошибки была неправильной), но ошибка была вызвана, потому что в этом случае planId был пуст .

Это было полезно?

Решение

У вас есть представление с именем viewPlan , с которым вы делаете что-то подобное в шаблоне:

{% url viewPlan %}

или что-то подобное в представлении:

reverse('viewPlan')

Если вы делаете это, и у вас нет строки, которая выглядит следующим образом:

url(r'^whatever/url/

... в твоей конфигурации url я думаю, что это ошибка, которую ты получаешь. В качестве альтернативы, и более вероятно, вы, вероятно, захватываете значение (может быть, id или что-то) в URL-адресе viewPlan, но не передаете аргумент при обращении URL-адреса. Поэтому, если вы собираете какие-либо значения в регулярном выражении, например так:

url(r'^plans/(\d+)

Вы должны назвать это так:

{% url viewPlan 15 %}

Или вот так:

reverse('viewPlan', args=[15]);

Где 15 , очевидно, соответствует ожидаемому захваченному значению.

, 'dev_env.profiles.views.viewPlan', name="viewPlan"),

... в твоей конфигурации url я думаю, что это ошибка, которую ты получаешь. В качестве альтернативы, и более вероятно, вы, вероятно, захватываете значение (может быть, id или что-то) в URL-адресе viewPlan, но не передаете аргумент при обращении URL-адреса. Поэтому, если вы собираете какие-либо значения в регулярном выражении, например так:

<*>

Вы должны назвать это так:

<*>

Или вот так:

<*>

Где 15 , очевидно, соответствует ожидаемому захваченному значению.

, 'dev_env.profiles.views.viewPlan', name="viewPlan"),

Вы должны назвать это так:

<*>

Или вот так:

<*>

Где 15 , очевидно, соответствует ожидаемому захваченному значению.

, 'dev_env.profiles.views.viewPlan', name="viewPlan"),

... в твоей конфигурации url я думаю, что это ошибка, которую ты получаешь. В качестве альтернативы, и более вероятно, вы, вероятно, захватываете значение (может быть, id или что-то) в URL-адресе viewPlan, но не передаете аргумент при обращении URL-адреса. Поэтому, если вы собираете какие-либо значения в регулярном выражении, например так:

<*>

Вы должны назвать это так:

<*>

Или вот так:

<*>

Где 15 , очевидно, соответствует ожидаемому захваченному значению.

Другие советы

У меня была такая же проблема. В моем случае я забыл добавить URL-адреса дочернего приложения в основной файл urls.py:

urlpatterns = [
    re_path("admin/", admin.site.urls),
    re_path(r"^core/", include("core.urls")),
    re_path(r"^<*>quot;, welcome, name="welcome")
]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top