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

Django新增页面已配置urls和views访问报404错误如何解决

错误原因

核心问题为Django路由的尾部斜杠严格匹配规则:你配置的study路由路径带尾部斜杠/,但你访问的地址http://127.0.0.1:8000/study未携带尾部斜杠,默认场景下如果路由无精确匹配、且自动重定向逻辑未触发,就会返回404错误。
除此之外还有几个常见的关联排查点:

  • 未将student_management_app注册到全局settings.py的INSTALLED_APPS列表中,导致app路由未被全局加载
  • 修改路由配置后未重启Django开发服务,热加载未生效
  • 全局配置中关闭了APPEND_SLASH参数,无法自动将无斜杠地址重定向到带斜杠的地址

解决方法

临时验证方案

直接访问带尾部斜杠的地址http://127.0.0.1:8000/study/,即可正常匹配路由。

永久兼容方案

如果需要同时支持带/和不带/的访问,修改student_management_app下的urls.py配置即可:

写法1:双路由适配

urlpatterns = [
    path('', views.loginPage, name="login"),
    path('student_view_result/', StudentViews.student_view_result, name="student_view_result"),
    path('study', StudentViews.study, name="study"),
    path('study/', StudentViews.study, name="study"),
]

写法2:正则匹配适配

from django.urls import path, include, re_path
urlpatterns = [
    path('', views.loginPage, name="login"),
    path('student_view_result/', StudentViews.student_view_result, name="student_view_result"),
    # ?表示尾部/可选,同时匹配两种格式
    re_path(r'^study/?$', StudentViews.study, name="study"),
]

其他排查操作

如果以上方案无效,执行以下检查:

  1. 确认全局settings.py中APPEND_SLASH = True(默认开启,未手动修改无需调整)
  2. 确认student_management_app已添加到settings.py的INSTALLED_APPS列表中
  3. 重启Django开发服务,确认路由修改已生效
  4. 确认模板文件student_template/study.html存在、路径正确,避免路由匹配后因模板缺失返回404

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:24:04