Django именованные маршруты не работают с django.views.generic.simple.redirect_to - PullRequest
1 голос
/ 16 декабря 2011

Возникла проблема с именованными маршрутами django. Django продолжает вызывать ошибку NoReverseMatch при вызове следующим образом:

urlpatterns += patterns('django.views.generic.simple',
# tutorials
    url(r'^tutorials/?$', 'redirect_to', {'url':'/tutorials/markers/'}, name='tutorials'),
    (r'^tutorials/markers/?$', 'direct_to_template', {'template': 'page_tutorials_markers.html'}),
)

# in template:
<a href="{% url tutorials %}">tutorials</a>

Это выглядит довольно самоочевидно, но я не могу понять, почему этот маршрут не распознается как именованный маршрут.

Спасибо

J

1 Ответ

1 голос
/ 16 декабря 2011

Обратное совпадение обычно заканчивается неудачей, если у вас есть дополнительные символы. Как Django узнает, добавлять ли косую черту или нет?

Я бы порекомендовал вам удалить знак вопроса, чтобы URL-адреса заканчивались косой чертой, а для добавления слешей при необходимости использовать класс CommonMiddleware .

...