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

Django admin后台无法登录,未修改代码的原有正常项目也出现该故障

项目2 Django admin 登录凭证校验失败解决方案

1. 运行环境一致性校验

  • 确认当前运行项目2时激活的是项目2对应的独立虚拟环境,执行pip freeze检查Django版本及依赖包和项目2正常运行时的版本完全匹配,避免误用到项目1的依赖配置
  • 启动项目前执行python manage.py diffsettings,核对AUTH_USER_MODEL输出为auth.User、DATABASES配置指向项目2自身的SQLite文件,没有意外继承项目1的环境变量配置

2. 用户数据有效性校验

  • 直接操作项目2的SQLite文件验证用户状态,执行python manage.py shell进入交互终端,运行以下代码验证账号是否存在、权限是否正常:
from django.contrib.auth.models import User
user = User.objects.filter(username='你的管理员用户名').first()
print(user.is_active, user.is_staff, user.is_superuser)
# 以上三个字段需全部为True才有权限登录admin后台
  • 如果用户状态正常,可以直接在shell中重置密码排除密码记忆偏差问题,执行:
user.set_password('你的新密码')
user.save()

重置完成后尝试重新登录

3. 会话/缓存污染排查

  • 两个项目如果都使用默认8000端口运行,前一个项目运行时种下的会话cookie即使清除过,也可能因为启动顺序问题残留,运行项目2时指定不同端口测试:python manage.py runserver 8001,访问127.0.0.1:8001/admin尝试登录
  • 确认项目2没有启用未配置的缓存后端,默认Django使用本地内存缓存,如果之前项目1运行时占用过同端口的缓存空间,重启运行终端后再启动项目2即可

4. 迁移状态校验

即使没有修改代码,也可能是之前误执行的migrate命令污染了项目2的数据库表,执行python manage.py showmigrations auth,确认auth相关的迁移全部为已应用状态(前面带[X]标记),如果有未应用的迁移,执行python manage.py migrate auth完成迁移后再测试登录

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 08:39:04