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

Django访问根路径未匹配URL、admin登录异常问题求助

问题原因及解决方案

1. 空路径404报错原因

你当前根目录urls.py中仅配置了admin/、静态资源、媒体资源三类路由,没有配置空路径''对应的匹配规则,因此直接访问网站根地址时Django找不到对应路由就会抛出该报错。

2. 路径修改后admin登录失败原因

  • 不要直接修改admin站点的默认挂载路径,admin.site.urls是Django内置admin后台的完整路由集合,包含了登录、数据管理等所有后台相关的路由,将它挂载到login/路径下属于不合理的混用操作。
  • 登录提示账号密码错误,大概率是你还没有创建拥有staff权限的超级管理员账号,或者输入的账号密码有误。

3. 具体修复步骤

3.1 恢复并补充根路由配置

将urls.py恢复为正常配置,同时根据需求补充空路径的路由规则:

from django.contrib import admin
from django.urls import path, include
from django.shortcuts import redirect # 加这行用来实现重定向
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    # 临时方案:访问根路径直接跳转到admin后台
    path('', lambda request: redirect('/admin/')),
    # 正式方案:如果需要使用自己开发的页面,引入对应app的路由,示例如下
    # path('', include('profiles.urls')),
    # path('customers/', include('customers.urls')),
]

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

3.2 确认创建超级管理员账号

执行终端命令创建可登录admin的超级账号,创建过程中按照提示输入用户名、邮箱、密码即可:

python manage.py createsuperuser

创建完成后访问http://你的服务地址/admin/,输入刚才设置的账号密码即可正常登录admin后台。

4. 关于views.py的编写要求

如果仅使用Django内置的admin后台管理数据,不需要额外编写视图,按照上面的步骤操作即可正常使用。
如果你需要开发admin之外的自定义用户页面,就需要编写对应的视图逻辑,常用的视图包括:

  • 网站首页视图:用来渲染自定义首页的内容,返回对应的前端模板
  • 普通用户登录/登出视图:如果需要面向普通用户开放登录功能,不需要走admin后台的登录逻辑,可以基于Django内置的auth模块定制登录逻辑
  • 各业务模块的功能视图:比如客户列表、产品详情、销售报表等对应页面的处理逻辑,分别写在对应app的views.py中即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 17:45:08