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

Django URL配置错误:访问/index路径出现404页面未找到求助

解决Django URL配置导致的404错误

你遇到的问题核心是混淆了path()和re_path()的用法,同时URL路径规则没对应上你访问的/index地址,咱们一步步来修复:

问题根源

Django的path()是精确路径匹配函数,不需要使用正则表达式的锚点符号(^和$);只有re_path()(或旧版的url())才支持正则语法。你在path()里写了正则符号,导致路径匹配逻辑出错,再加上/index没有对应的URL规则,就出现了404。

步骤1:修正主项目URL配置(f_project.urls)

先删掉多余的from first_app import urls导入(include()只需要字符串形式的应用URL模块路径),然后调整规则写法:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    # 匹配根路径 http://127.0.0.1:8000/
    path('', views.index),
    # 匹配以first_app/开头的路径,转发给first_app的URL配置
    path('first_app/', include('first_app.urls')),
    # 新增规则,匹配你访问的http://127.0.0.1:8000/index
    path('index/', views.index),
]

步骤2:修正应用URL配置(first_app.urls)

同样把path()里的正则符号去掉,改成精确匹配的写法:

from django.urls import path
from first_app import views

urlpatterns = [
    # 匹配first_app/下的根路径,即http://127.0.0.1:8000/first_app/
    path('', views.index, name='index'),
]

为什么之前会出现404?

你访问的http://127.0.0.1:8000/index在原配置里找不到匹配规则:

  • 主URL里的path(r'^$', views.index)因path()不识别正则符号,无法正确匹配路径
  • path(r'^first_app/', include(...))同理,正则符号导致first_app/开头的路径也无法匹配
  • 应用URL里的规则只对应first_app/下的根路径,和/index完全无关

验证修复

修改完成后重启Django服务:

  • 访问http://127.0.0.1:8000/会触发主URL的根路径规则
  • 访问http://127.0.0.1:8000/index会触发新增的index/规则
  • 访问http://127.0.0.1:8000/first_app/会触发应用URL里的规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:38:07