Django如何重设Admin密码(转)

 

 

django的admin用户被我多动症同样的测试,给密码弄丢了,须要重置。html

从数据库重置的可能性为0,由于django对于密码有保护策略。考虑从运行程序的地方进行重置:python

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

1 python manage.py shell

2.对admin用户进行修改密码:sql

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

结果,登陆admin成功。shell

 

总结:我有两点疑问:数据库

  首先,若是连用户名admin也忘记怎么办?    django

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

  上面第二句选择了全部的超级用户,能够选择其中一个进行修改密码。安全

  第三句选择了是staff而且是superuser的员工。post

      

  注意:默认状况下,只有是staff和superuser的双重身份才能进去django自带的admin管理后台并进行修改和管理。测试

     当只是staff的时候,只能进入后台,可是不能进行任何操做。当只是superuser状态时,则没法进入后台。

     

 

  其次,这样的操做容许。意味着,若是知道程序放在哪一个路径下面,就能够修改admin的用户密码,这是否不安全?虽然这样的操做,给咱们这些记忆力很差的人留下了“后路”。突然想起来了mysql不能对root修改密码的问题

相关文章
相关标签/搜索