2015-10-15 49 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