超级用户active设为False后无法登录Django Admin,如何恢复?
恢复Django超级用户Active状态的方法
方法一:使用Django Shell(推荐)
- 进入项目根目录,运行命令启动Django Shell:
python manage.py shell - 在Shell中执行以下代码(将
your_username替换为你的超级用户名):from django.contrib.auth.models import User user = User.objects.get(username='your_username') user.is_active = True user.save() - 退出Shell后,重新尝试登录Django Admin后台即可。
方法二:直接修改数据库(谨慎操作)
若无法使用Shell,可直接操作数据库恢复:
- 打开项目对应的数据库(如SQLite、MySQL、PostgreSQL等)
- 定位到
auth_user表,找到目标超级用户的记录 - 将该记录的
is_active字段值改为1(数据库中1对应True,0对应False) - 保存修改后,重启Django项目再尝试登录。
注意事项
- 直接修改数据库前务必备份数据,防止操作失误导致数据丢失
- 优先选择Django Shell方法,遵循ORM规范,降低出错概率
内容的提问来源于stack exchange,提问作者Oghomwen Ogunmwonyi
相关产品推荐
相关产品推荐

