You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django教程开发polls应用遇404错误:根路径访问失败求助

解决Django访问根路径404的问题

问题根源

  1. polls应用URL配置错误:你在polls/urls.py里用了path(r'^$', ...),但Django的path()函数不支持正则表达式(^$是正则的开头结尾匹配语法),它采用精确路径匹配,所以这条规则不会生效。
  2. 根URLconf未映射根路径:当前根urls.py里只配置了polls/和admin/的路由规则,没有匹配空路径(/)的规则,所以访问根地址时找不到对应视图。

分步解决

第一步:修正polls应用的URL规则

修改polls/urls.py里的urlpatterns,把正则写法改成path支持的精确匹配格式:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),  # 用空字符串匹配polls/路径
]

如果习惯用正则语法,也可以改用re_path:

from django.urls import re_path
from . import views

urlpatterns = [
    re_path(r'^$', views.index, name='index'),
]

第二步:配置根路径的访问规则

如果你想直接通过根地址(/)访问polls的首页,有两种可选方案:

方案A:直接在根URLconf映射根路径到polls的index视图

修改根urls.py:

from django.contrib import admin
from django.urls import include, path
from polls import views  # 导入polls的视图模块

urlpatterns = [
    path('', views.index, name='home'),  # 根路径指向polls的index视图
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

方案B:将polls的URL挂载到根路径

修改根urls.py里的polls路由路径为空白字符串:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('', include('polls.urls')),  # 根路径直接复用polls的URL规则
    path('admin/', admin.site.urls),
]

验证

修改完成后重启服务python manage.py runserver 8080,访问根地址就能看到"Hello, world. You're at the poll index."的内容了。

内容的提问来源于stack exchange,提问作者Nikhil Devabhaktuni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 16:05:52