我在 SO 上看到了其他一些关于此的问题,但它们没有解决我的问题。我正在运行 Django 1.8.5,Python 2.7.6。

我将根 urls.py 更新为

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^polls/', include('polls.urls', namespace="polls")),
    url(r'^admin/', include(admin.site.urls)),
]

和 polls/templates/polls/index.html 到
{% if latest_question_list%}
   <ul>
   {% for question in latest_question_list %}
       <li><a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a></li>
   {% endfor %}
 </ul>
{% else %}
  <p>No polls are available.</p>
{% endif %}

我收到错误
NoReverseMatch at /polls/
u'polls' is not a registered namespace.

我已尝试按照我建议的其他答案重新启动开发服务器,并在模板代码中包含 {% load url from future %};两者都没有奏效。不确定我缺少什么,我的代码与教程中的文件匹配。

编辑:
民意调查/网址.py
from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
    url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),]

最佳答案

如果 ROOT_URLCONF 设置为 mysite.urls ,则 urls.py 应位于嵌套的 mysite 目录中,即 mysite/mysite/urls.py

关于python - NoReverseMatch at/polls/(django 教程),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33151816/

10-12 12:55