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

Django 2.2.5配置URL后访问本地8000端口出现404错误求助

问题分析与解决方法

嘿,我一眼就瞅出问题所在啦!你遇到的404错误,核心原因是Django 2.x版本的path()函数不支持正则表达式语法,但你却在path()里用了正则的r'^$'写法,导致根路径匹配失败。

具体原因拆解

Django 2.0之后把URL配置分成了两种明确的方式:

  • path():用于简单的路径匹配,不需要正则符号,直接写路径字符串就行,空字符串''就代表根路径(也就是http://127.0.0.1:8000/)。
  • re_path()(或者旧版的url()):专门用来处理带正则表达式的路径匹配,这时候才需要用r'^$'这种正则语法来匹配空路径。

你现在用了path(r'^$', ...),Django会把^$当成字面量路径去匹配,自然找不到对应的视图,就抛出404了。

两种修正方案

方案1:用path()的正确写法(推荐)

直接把r'^$'改成空字符串,这是Django 2.x+推荐的简洁写法:

from django.contrib import admin
from django.urls import path
from first_app import views

urlpatterns = [
    path('', views.index, name='index'),  # 这里改成空字符串
    path('admin/', admin.site.urls),
]

方案2:改用re_path()(适合需要正则的场景)

如果你习惯用正则写法,可以换成re_path(),记得要先导入它:

from django.contrib import admin
from django.urls import path, re_path  # 新增re_path导入
from first_app import views

urlpatterns = [
    re_path(r'^$', views.index, name='index'),
    path('admin/', admin.site.urls),
]

验证方法

改完之后重启Django开发服务器,再访问http://127.0.0.1:8000,应该就能看到"Hello World!"啦!

内容的提问来源于stack exchange,提问作者Sheikh Rasel Ahmed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 11:42:33