Django url templatetag (но не reverse ()) ошибка: поймано NoReverseMatch при рендеринге - PullRequest
9 голосов
/ 01 марта 2011

Я пытаюсь использовать тег шаблона URL следующим образом:

{% url all-labs-map %}

, но когда я просматриваю страницу, я получаю эту ошибку:

Caught NoReverseMatch while rendering: Reverse for 'all-labs-map' with arguments '()' and keyword arguments '{}' not found.

Когда я используюШаблон тега выглядит так:

{% url gmaps.views.all_labs %}

Работает просто отлично.

Вот URL-адрес conf:

urlpatterns = patterns('gmaps.views',
    url(r'^lab_list/$', 'all_labs', name="all-labs-map" ),
)

Я попытался использовать оболочку django, чтобы увидеть, была ли проблема с указанным URL, но с помощью

reverse('all-labs-map') 

возвращаетправильный URL.

Есть идеи о том, что происходит?

Спасибо!

Majd

РЕДАКТИРОВАТЬ:

Я использую django 1.2 на Ubuntu с сервером nginx и gunicorn и virtualenv.У меня возникла другая проблема с пользовательским тегом, куда загружается библиотека, но сам тег не распознается, хотя я использую правильный синтаксис регистрации тега.Любые идеи будут очень признательны!

Ответы [ 3 ]

6 голосов
/ 22 февраля 2013

Это все еще высоко в результатах Google, но никто еще не ответил на него правильно. Ключ это:

{% load url from future %}

До Django 1.3 это был синтаксис тега url:

{% url view_name arg1 %}

В Django 1.5 это будет синтаксис:

{% url "view_name" arg1 %}

Начиная с Django 1.3 , старая версия работает, но выдает предупреждение об устаревании, сообщая вам {% load url from future %} и переключаясь на новую версию этого тега шаблона, при подготовке к Django 1.5

1 голос
/ 10 января 2012

Вы пытались заключить имя URL в кавычки, например, так:

{% url "all-labs-map" %}

или

{% url 'all-labs-map' %}

У меня были некоторые проблемы с URL-адресами, и это помогло,Что касается комментария @ user608133 - вам нужно перезапустить gunicorn, а не nginx, так как nginx - просто прокси ...

0 голосов
/ 02 марта 2011

Эта ошибка может возникнуть, если у вас есть другой URL с тем же именем, переопределяющий этот, который требует нескольких параметров.Обнаружены ли дубликаты, когда вы выполняете поиск по всему проекту «all-labs-map»?

...