Django如何重設Admin的密碼
由於很久沒有打開djago站點,後臺的賬戶密碼忘記了,所以需要重新設置找回。
加之幾乎不可能從數據庫的層面進行密碼找回(django有自身的加密策略),所以嘗試從運行程序的角度進行找回。
1.在程序對應的文件夾下執行命令
python manage.py shell
2.對admin用戶進行修改密碼
from django.contrib.auth.models import User
user = User.objects.get(username='admin')
user.set_password('new_passwod')
user.save()
結果:可以使用admin 加上 修改後的密碼登錄django後臺了。
特殊情況:如果我連用戶名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且是超級用戶的員工。
注意:默認情況下,只有是staff且是superuser 雙重身份的員工賬號。才能進入django自帶的admin管理後臺進行修改和管理。
當只是staff的時候,只能進入後臺,不能進行任何操作。當只是superuser的時候,則無法進入後臺。
其實這樣的操作被允許,那麼如果知道我們的程序存放目錄就可以通過這種方式進行密碼修改了,這樣是否不安全呢?