Skip to main content
 首页 » 编程设计

python之使用 Django 找不到页面 (404)

2024年10月01日26dflying

在我的 django 项目中,当我访问 localhost:8000 时,它说:

  Page not found (404) 
  Request Method:   GET 
  Request URL:  http://localhost:8000/ 

urls.py 是:

  from django.conf.urls import include, url 
  from django.contrib import admin 
  from polls import views 
 
  urlpatterns = [ 
      url(r'^admin/', admin.site.urls), 
      url(r'^polls/', include('polls.urls', namespace="polls")), 
  ] 

投票 urls.py 是:

  from django.conf.urls import url, include 
  from django.contrib import admin 
  from polls import views 
 
  urlpatterns = [ 
      url(r'^$', views.index, name='index'), 
      url(r'^(?P<question_id>\d+)/$', views.detail, name='detail'), 
      url(r'^(?P<question_id>\d+)/vote/$', views.vote, name='vote'), 
      url(r'^(?P<question_id>\d+)/results/$', views.results, name='results'), 
      url(r'^admin/', admin.site.urls), 
  ] 

Django 版本为 1.10。谁能帮我找出问题所在?提前致谢。

请您参考如下方法:

你似乎没有 / 的路线,所以 http://localhost:8000/ 不会让你到任何地方。

你在 urls.py 中写了 url(r'^polls/', include('polls.urls', namespace="polls")), 所以所有polls.urls 中定义的路由将以 polls/ 为前缀。

你可能真的想去http://localhost:8000/polls/(注意polls/,因为你定义为索引的路由列在投票应用程序。

如果您想将投票索引路由到您的 url 根目录,您应该将 urls.py 更改为类似

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

忘记 url 中的 polls/ 部分。