Подтвердить что ты не робот

Django Newbie: "Обратный не найден"

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

{% for aa in my_array %}

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

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

{% url viewPlan %}

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

reverse('viewPlan')

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

url(r'^whatever/url/$', 'dev_env.profiles.views.viewPlan', name="viewPlan"),

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

url(r'^plans/(\d+)$', 'dev_env.profiles.views.viewPlan', name="viewPlan"),

Вам нужно вызвать его так:

{% url viewPlan 15 %}

Или вот так:

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

Где 15, очевидно, независимо от ожидаемого значения.