User authentication in Django | Python
阿新 • • 發佈:2018-06-15
python eat 設置 多表 多對多 log 管理系 登錄 mode
1.User用戶表默認字段
username,password,email,first_name,last_name
2.添加User表數據
from django.contrib.auth.models import User user = User.objects.create_user(‘mic‘,‘[email protected]‘,‘micpassword‘) user.save()
3.創建超級用戶
python3 manage.py createsuperuser
創建超級用戶,與上面添加的用戶區別在於被賦予了權限,可以登錄django自帶admin後臺管理數據;
4.修改用戶密碼
終端修改:python3 manage.py changepassword username new_password
代碼修改;
admin後臺修改;
from django.contrib.auth.models import User
u = User.objects.get(username="mic") u.set_password("zxcvbn123") u.save()
5.用戶認證
django推薦使用LoginView視圖類來處理,而不是使用下面的例子;
>>> from django.contrib.auth.models importUser >>> from django.contrib.auth import authenticate >>> user = authenticate(username="mic",password="zxcvbn123") >>> user <User: mic> >>> if user: ... print("認證成功!") ... 認證成功! >>> user = authenticate(username="mic",password="wrong_password")>>> user
>>>
6.用戶組與權限
django自帶用戶組表與權限表,此外,還有:用戶/用戶組,用戶/權限,用戶組/權限 這三張額外生成的多對多表,即用戶,用戶組,權限id的對應關系;
怎麽將權限移植到自己做的後臺管理系統中呢?
就是對這幾張表的增刪改查;
django自帶的權限是對所有表的增刪改查的賦權,如果需要設置對單個表的權限,需要自己構造;
待補充...
User authentication in Django | Python