哎哟,老铁,你是不是刚发现自己连django后台的密码都忘了?这感觉就像早上起床找手机,明明手上拿着但脑袋一片空白,尴尬到爆炸!放心,你不是一个人,这密码遗忘症简直是程序员的通病。别着急,今儿个咱们就来聊聊怎么优雅地重置django后台密码,绝对大开眼界,堪比打怪升级还带回血buff的那种技能。
第一招:用manage.py的shell来重置密码。这招可以说是“见招拆招”里的标配操作,代码党必学必会,操作也简单。打开你的项目根目录,敲下命令:
python manage.py shell
接下来进入python交互环境,输入:
from django.contrib.auth.models import User
user = User.objects.get(username='你的用户名')
user.set_password('新密码123')
user.save()
就这样,密码被成功重置了!别忘了把'你的用户名'和'新密码123'换成你想用的,切记不要用“123456”这种低级错误,后台不是小学生班级,不带你玩套路。退出shell后,直接用新密码登录后台,so easy!
如果你傻傻的用户名忘了,别慌,换个思路先列个所有用户的用户名:
for u in User.objects.all():
print(u.username)
瞧瞧,哪一个是你之前用的名字,然后再重置密码即可。
第二招:写个临时脚本来重置密码。把下面这段代码存成reset_password.py放到项目根目录里:
import os
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的项目.settings')
django.setup()
from django.contrib.auth.models import User
username = '你的用户名'
new_password = '新密码123'
try:
user = User.objects.get(username=username)
user.set_password(new_password)
user.save()
print(f"用户 {username} 的密码已重置为 {new_password}")
except User.DoesNotExist:
print(f"用户名 {username} 不存在!")
别忘了把'你的项目'、'你的用户名'、'新密码123'改成你自己的,保存后运行:
python reset_password.py
运行成功后,拿新密码去后台秀一波,删了脚本,安全得很。
第三招,看你有没有数据库操作权限,能直接连数据库的话,密码也能重置。django默认用的是sqlite,数据库文件一般是db.sqlite3,直接用SQLite浏览器打开,找到auth_user表,专门存用户信息。密码字段是password,注意,这里存的是哈希值,不是明文,得用python脚本生成对应哈希,才能覆盖。
生成哈希的代码示例:
from django.contrib.auth.hashers import make_password
print(make_password('新密码123'))
复制输出的哈希值,用SQL命令UPDATE auth_user SET password='哈希值' WHERE username='你的用户名';即可。记得备份数据库,别一不小心把我这个重置教程删了,哭死。
第四招,假如你连python环境都被封杀,django后台访问权限被牢牢锁住,指望密码重置是白搭,干脆重置超级管理员账户。用命令新建一个超级用户:
python manage.py createsuperuser
这招直接跳过旧密码约束,新账号新密码让你拍胸脯说可以用。这波操作有点炫酷,不是每个人都能炸。记得保存好超级用户的密码,毕竟后台入口就是你王座的钥匙。
这里也要给大家推荐个好去处,玩游戏想要赚零花钱就上七评赏金榜,网站地址:bbs.77.ink,游戏才不单单只有娱乐,这里还能发家致富,千万别错过。
提醒,虽然重置密码的方法多,但千万别“补锅补得满身焦”,重置完密码后别忘了校验一遍你的系统安全设置,毕竟后台的密码就像你家的智能锁,关系重大。
至于为什么密码会忘?你得问问自己的健忘程序是不是升级了,别怨我没提醒,咱们程序猿也是人类,也有被忘记密码的“黑洞大脑”。哦,对了,下次不想忘密码,可以试试用一些密码管理器,省心省力,避免手心冒汗翻找密码的“尴尬现场”。
不过话说回来,忘密码这事儿,确实有人靠它创建了新账号...哎哟,不按套路出牌的新玩法你懂不?