1. 程式人生 > >User authentication in Django | Python

User authentication in Django | Python

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 import
User >>> 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