【问题标题】:Page not found with Django (404)使用 Django 找不到页面 (404)
【发布时间】:2017-09-22 18:28:42
【问题描述】:

在我的 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。谁能帮我找出问题所在?提前致谢。

【问题讨论】:

标签: python django


【解决方案1】:

在主 urls.py 中更改

来自

url(r'^polls/', include('polls.urls', namespace="polls")),

url(r'^$', include('poll.urls')),

【讨论】:

    【解决方案2】:

    您似乎没有通往/ 的路线,所以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),
    ]
    

    忘记网址中的polls/ 部分。

    【讨论】:

      猜你喜欢
      • 2017-02-03
      • 1970-01-01
      • 2016-08-01
      • 2016-08-01
      • 2015-10-22
      • 2014-03-20
      • 2020-10-27
      • 2019-07-21
      • 1970-01-01
      相关资源
      最近更新 更多