2015-10-15 92 views
3

我已经看到了一些关于这个问题的其他问题,但他们并没有解决我的问题。我正在运行Django 1.8.5,Python 2.7.6。NoReverseMatch在/民意调查/(Django教程)

我更新了根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)), 
] 

和民意测验/模板/调查/ 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. 

我有尝试重新启动开发服务器,因为我建议的其他答案,以及包括{%未来%负载URL}中模板代码;没有工作。不知道我缺少什么,我的代码与教程中的文件相匹配。

编辑: 轮询/ urls.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'),] 
+2

显示polls.urls代码 –

+2

根urls.py的位置是什么(偶尔会有新用户在错误的地方创建第二个urls.py)。 – Alasdair

+0

root urls.py位于mysite/urls.py中,其中mysite是根目录的名称(不是嵌套的mysite目录)。因此,如果我在另一个回购站的“开发”目录中找到它,它位于Development/mysite/urls.py中 – Andrew

回答

2

如果ROOT_URLCONF设置是mysite.urls,则urls.py应该在嵌套mysite目录,即mysite/mysite/urls.py