[py]django重置密码

django的admin用户被我多动症一样的测试,给密码弄丢了,需要重置。
从数据库重置的可能性为0,因为django对于密码有保护策略。考虑从运行程序的地方进行重置:

1.在程序的文件夹下,执行这样的命令,进行shell窗口:

1 python manage.py shell
2.对admin用户进行修改密码:

from django.contrib.auth.models import User  
user =User.objects.get(username='admin')  
user.set_password('new_password')  
user.save()  

结果,登录admin成功。

总结:我有两点疑问:

首先,如果连用户名admin也忘记怎么办?    

from django.contrib.auth.models import User
user1 = User.objects.filter(is_superuser = True)
user2 = User.objects.filter(is_superuser = True, is_staff = True) 
print user1, user2

上面第二句选择了所有的超级用户,可以选择其中一个进行修改密码。
第三句选择了是staff并且是superuser的员工。

注意:默认情况下,只有是staff和superuser的双重身份才能进去django自带的admin管理后台并进行修改和管理。
  当只是staff的时候,只能进入后台,但是不能进行任何操作。当只是superuser状态时,则无法进入后台。
参考

另一种方法:

posted @ 2018-03-27 09:25  mmaotai  阅读(315)  评论(0编辑  收藏  举报