NoReverseMatch: Reverse with arguments and keyword arguments '{}' not found. 0 pattern(s) tried: []
9 июля 2016 г. 23:47
Периодически получаю ошибку подобного плана:
NoReverseMatch: Reverse for 'my_url_name' with arguments '(u'...',)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
И не сразу врубаюсь почему не работает. Вот и решил записать шпаргалочку. Проверить:
1. Включён ли urls.py приложения в корневой urls.py
urlpatterns = patterns('', ... url(r'^my_app/', include('my_app.urls')), ... )
2. Прописан ли url в urls.py приложения:
urlpatterns = patterns('', url(r'^my-url-name/(?P<my_object_id>\d+)/$', my_app.views.my_view, name='my_url_name'), )
3. Добавлены ли необходимые аргументы в urls.py
urlpatterns = patterns('', url(r'^my-url-name/(?P<my_object_id>\d+)/$', my_app.views.my_view, name='my_url_name'), )
4. Добавлены ли необходимые аргументы при вызове функции url в шаблоне или reverse в коде python
# in template.html <a href="{% url 'my_url_name' my_object_id %}">Перейти по ссылке</a> # in python code reverse('my_url_name', args=(my_object_id, ))
Если вьюха не принимает никаких аргументов (таких как my_object_id), то проверить только первые две проверки.
Комментариев: 0