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

Django访问根路径返回404,空路径未匹配任何URL规则问题求助

问题原因

你当前的所有URL配置中没有对应**根路径(/)**的路由规则,Django收到http://127.0.0.1:8000/的GET请求时找不到匹配的处理函数,因此返回404。你现有配置的路由都是/department、/employee这类非根路径的接口,直接访问根路径自然无法匹配。

解决方案

根据你要展示的根路径内容选择对应方案即可:

  • 方案1:根路径展示静态HTML页面
  1. 首先在项目根目录创建templates文件夹,将你要展示的静态页面(比如index.html)放入该文件夹
  2. 打开项目settings.py,找到TEMPLATES配置项,将DIRS的值改为:
TEMPLATES = [
    {
        ...
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        ...
    }
]
  1. 在EmployeeApp的views.py中新增根路径处理视图:
from django.shortcuts import render

def index(request):
    # 参数里的index.html替换成你自己的静态页面文件名
    return render(request, 'index.html')
  1. 在EmployeeApp的urls.py中新增根路径路由:
urlpatterns=[
    # 新增这一行,匹配根路径
    re_path(r'^$', views.index, name='index'),
    # 下方保留你原来的其他路由配置即可
    re_path(r'^department$',views.departmentApi, name='department'),
    re_path(r'^department/([0-9]+)$',views.departmentApi, name='departmentApi'),
    ...
]
  • 方案2:根路径直接跳转到现有接口页面
    如果你不需要单独的根页面,想直接跳转至部门列表/员工列表页面,直接在EmployeeApp的urls.py中新增重定向路由即可:
from django.views.generic import RedirectView

urlpatterns=[
    # 示例为跳转到/department页面,要跳其他页面修改url参数即可
    re_path(r'^$', RedirectView.as_view(url='/department')),
    # 下方保留你原来的其他路由配置即可
    ...
]
补充说明
  • 用re_path匹配根路径必须写完整的正则r'^$',^代表字符串开头、$代表字符串结尾,二者组合才是完全匹配空的根路径
  • 如果改用path写法会更简洁,根路径路由直接写path('', views.index, name='index')即可,无需处理正则规则
  • 想验证路由配置是否生效,可以安装django-extensions包后运行python manage.py show_urls命令,查看所有已注册的路由列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:54:04