Django默认用户认证系统和用户模型类
生活随笔
收集整理的這篇文章主要介紹了
Django默认用户认证系统和用户模型类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Django默認用戶認證系統和用戶模型類
1.Django默認用戶認證系統
Django自帶用戶認證系統
Django認證系統位置
Django認證系統同時處理認證和授權
Django認證系統包含的內容
2.Django默認用戶模型類
Django認證系統中提供了用戶模型類User保存用戶的數據。
Django認證系統用戶模型類位置
父類AbstractUser介紹
3.?自定義用戶模型類
為什么要自定義用戶模型類??
1.Django默認用戶認證系統
-
Django自帶用戶認證系統
- 它處理用戶賬號、組、權限以及基于cookie的用戶會話。
-
Django認證系統位置
- django.contrib.auth包含認證框架的核心和默認的模型。
- django.contrib.contenttypes是Django內容類型系統,它允許權限與你創建的模型關聯。
-
Django認證系統同時處理認證和授權
- 認證:驗證一個用戶是否它聲稱的那個人,可用于賬號登錄。
- 授權:授權決定一個通過了認證的用戶被允許做什么。
-
Django認證系統包含的內容
- 用戶:用戶模型類、用戶認證。
- 權限:標識一個用戶是否可以做一個特定的任務,MIS系統常用到。
- 組:對多個具有相同權限的用戶進行統一管理,MIS系統常用到。
- 密碼:一個可配置的密碼哈希系統,設置密碼、密碼校驗。
2.Django默認用戶模型類
-
Django認證系統中提供了用戶模型類User保存用戶的數據。
- User對象是認證系統的核心。
-
Django認證系統用戶模型類位置
-
django.contrib.auth.models.User
-
-
父類AbstractUser介紹
- User對象基本屬性
- 創建用戶(注冊用戶)必選:?username、password
- 創建用戶(注冊用戶)可選:email、first_name、last_name、last_login、date_joined、is_active 、is_staff、is_superuse
- 判斷用戶是否通過認證(是否登錄):is_authenticated
- 創建用戶(注冊用戶)的方法 user = User.objects.create_user(username, email, password, **extra_fields)
- 用戶認證(用戶登錄)的方法 from django.contrib.auth import authenticate user = authenticate(username=username, password=password, **kwargs)
- 處理密碼的方法
- 設置密碼:set_password(raw_password)
- 校驗密碼:check_password(raw_password)
- User對象基本屬性
3.?自定義用戶模型類
為什么要自定義用戶模型類?
- 觀察注冊界面會發現,注冊數據中必選用戶mobile信息。
- 但是Django默認用戶模型類中沒有mobile字段,所以要自定義用戶模型類。
如何自定義用戶模型類?
- 繼承自AbstractUser(可通過閱讀Django默認用戶模型類的源碼得知) 。
- 新增mobile字段。
?
總結
以上是生活随笔為你收集整理的Django默认用户认证系统和用户模型类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用VSCode写Python代码的推荐
- 下一篇: Python自动化运维——系统性能信息模