【问题标题】:NoReverseMatch at /polls/ (django tutorial)/polls/ 的 NoReverseMatch(django 教程)
【发布时间】:2016-01-14 02:31:09
【问题描述】:

我在 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 %} ;两者都没有奏效。不确定我缺少什么,我的代码与教程中的文件匹配。

编辑: 民意调查/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'),] 

【问题讨论】:

  • 显示 polls.urls 代码
  • urls.py的位置是什么(偶尔新用户会在错误的位置创建第二个urls.py)。
  • 根 urls.py 在 mysite/urls.py 中,其中 mysite 是根目录的名称(不是嵌套的 mysite 目录)。因此,如果我将其与其他存储库一起放在“开发”目录中,则它位于 Development/mysite/urls.py

标签: python django


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 2015-06-15
    • 2014-07-05
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多