Django の urls.html の name, namespace
Reverse for 'index' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: [] 的なエラーがでてきてなかなか辛かったので備忘録です (´・ω・`)
Django の Tutorial ではいずれも同じ意味を成します。
<li><a href="/polls/{{ question.id }}/"> {{ question.question_text }}</a></li> <li><a href="{% url 'detail' question.id %}"> {{ question.question_text }}</a></li> <li><a href="{% url 'polls:detail' question.id %}"> {{ question.question_text }}</a></li>
Writing your first Django app, part 3 | Django documentation | Django
① ベタ書き
<li><a href="/polls/{{ question.id }}/"> {{ question.question_text }}</a></li>
② 少し進化
<li><a href="{% url 'detail' question.id %}"> {{ question.question_text }}</a></li>
Removing hardcoded URLs in templates
このように書けるようにするには
あらかじめ polls/urls.py で name を定義しておく必要がある。
url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
③ もっと進化
<li><a href="{% url 'polls:detail' question.id %}"> {{ question.question_text }}</a></li>
Writing your first Django app, part 3 | Django documentation | Django
このように書けるようにするには
あらかじめ mysite/urls.py で namespace を定義しておく必要がある。
url(r'^polls/', include('polls.urls', namespace="polls")),