学习Django开发简易poll应用时访问/polls/报404错误求助
Django访问/polls/路径报404错误的排查解决
问题场景
我从零开始学习Django,跟着官方的简易poll应用教程完成所有步骤操作后,访问对应页面遇到报错。逐行核对所有代码语法,确认写法和教程要求完全一致,找不到问题排查方向。
终端输出的服务日志
Not Found: /polls/ [30/Jan/2021 00:12:39] "GET /polls/ HTTP/1.1" 404 1957
浏览器访问http://localhost:8000/polls/时的页面提示
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order: admin/ The current path, polls/, didn't match any of these.
问题定位与修复步骤
从报错提示可以直接看出,当前项目根路由配置mysite/urls.py仅挂载了admin后台的路由规则,没有将polls应用的路由配置纳入全局路由匹配体系,因此Django无法识别/polls/路径的请求。
按以下顺序排查修复:
- 第一步:检查项目
settings.py文件,确认polls应用已经添加到INSTALLED_APPS列表中完成注册。 - 第二步:打开项目根目录下的
mysite/urls.py,导入include方法,在全局路由列表中补充polls路径的匹配规则:from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 补充该行,将/polls/开头的请求转发到polls应用的路由配置 path('polls/', include('polls.urls')), ] - 第三步:确认
polls应用目录下存在urls.py文件,且文件内已经写好对应视图的路由匹配规则,保证应用内部的路由映射逻辑完整。 - 完成配置后重启本地开发服务,再次访问
http://localhost:8000/polls/即可正常加载页面。
内容的提问来源于stack exchange,提问作者Odysseus101
相关产品推荐
相关产品推荐

