alex_deerk
@alex_deerk
В ответах некомпетентен. Пытаю Python

Django почему не работает url?

url.py:
url(r'^other/(?P<category>[\w\-]+)/(?P<subcategory>\d+)/$', views.other_category, name='other_subcategory'),


В шаблоне ссылка выглядит следующем образом:
{% url 'other_subcategory' cat sub.id %}

На одной странице такая ссылка:
/other/appliances/13/

На другой такая:
/other/master-tools/7/

С переходов по второй всё, как и задумано, но первая не может найти нужный урл:

NoReverseMatch at /other/appliances/13/
Reverse for 'other_subcategory' with arguments '('', 10)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['other/(?P[\\w\\-]+)/(?P\\d+)/$']
Request Method: GET
Request URL: 127.0.0.1:8000/other/appliances/13
Django Version: 1.9.7
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'other_subcategory' with arguments '('', 10)' and keyword arguments '{}' not found. 1 pattern(s) tried: ['other/(?P[\\w\\-]+)/(?P\\d+)/$']


Через kwargs тоже пробовал определять ссылку
{% url 'other_subcategory' category=cat subcategory=sub.id %}


NoReverseMatch at /other/appliances/13/
Reverse for 'other_subcategory' with arguments '()' and keyword arguments '{'subcategory': 10, 'category': ''}' not found. 1 pattern(s) tried: ['other/(?P[\\w\\-]+)/(?P\\d+)/$']
Request Method: GET
Request URL: 127.0.0.1:8000/other/appliances/13
Django Version: 1.9.7
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'other_subcategory' with arguments '()' and keyword arguments '{'subcategory': 10, 'category': ''}' not found. 1 pattern(s) tried: ['other/(?P[\\w\\-]+)/(?P\\d+)/$']


Мне непонятно, где оно там получает 10. Подозреваю, что ответ как всегда очевиден, но я не вижу его.
  • Вопрос задан
  • 461 просмотр
Пригласить эксперта
Ответы на вопрос 1
winordie
@winordie
Лучшая документация -- исходники
Подозреваю что с первой ссылкой все нормально, проблема с той ссылкой которая должна быть на странице с урлом /other/appliances/13/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы