Мои адреса не нужно захватить следующее:Джанго: нет обратного матч URL с несколькими параметрами
domain/forum-name/
domain/forum-name/topic-name
У меня есть следующие определения URL:
url(r'^$', views.index_forums, name='index_forums'),
url(r'^(?P<forum_name>[-\w]+)/(?P<topic_name>[-\w]+)/$', views.show_topic, name='show_topic'),
url(r'^(?P<forum_name>[-\w]+)/$', views.index_topics, name='index_topics'),
Когда я ударил URL как домен/имя -of-форум, я генерировать URL-адреса в HTML так:
{% url 'board:show_topic' forum_name|lower topic.title|lower %}
Это дает мне «Обратный ... не найден» ошибка, и я не могу FIGU почему. Я неправильно использую «url»? Есть ли проблема с моим регулярным выражением? Благодаря!
Edit: добавление полной ошибки и шаблон:
NoReverseMatch at /random/
Reverse for 'show_topic' with arguments '(u'random', u'funny youtube videos')' and keyword arguments '{}' not found.
Request Method: GET
Request URL: http://localhost:8000/random/
Django Version: 1.5c2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'show_topic' with arguments '(u'random', u'funny youtube videos')' and keyword arguments '{}' not found.
Exception Location: /Users/travis/code/penv/lib/python2.7/site- packages/django/template/defaulttags.py in render, line 424
Python Executable: /Users/travis/code/penv/bin/python
Python Version: 2.7.2
Reverse for 'show_topic' with arguments '(u'random', u'funny youtube videos')' and keyword arguments '{}' not found.
1 {% extends "board/base.html" %}
2
3 {% block content %}
4 {% if topic_list %}
5 <ul>
6 {% for topic in topic_list %}
7 <li><a href="{% url 'board:show_topic' forum_name|lower topic.title|lower %}">{{topic.title}}</a></li>
8 {% endfor %}
9 </ul>
10 {% else %}
11 <p>No topics! <a href="/topic/new/">Make a new one</a>.</p>
12 {% endif %}
13 {% endblock %}
Можете ли вы опубликовать весь текст ошибки? – czarchaic
Можете ли вы разместить свое мнение? –
Добавлено в исходное сообщение – c4am95