Django內建模型User常見的操作

2021-10-07 21:20:13 字數 1656 閱讀 8311

常見的方法有:

create_user:建立普通使用者,會對密碼進行加密

create_superuser:建立超級使用者,會對密碼進行加密

set_password:對密碼進行加密

username

password

email

is_superuser

is_staff

is_active

如果user模型中的字段不夠,可以通過關聯關係的方式進行擴增

自定義模型,通過onetoonefield

extra_fields:代表傳user模型中的其他屬性
django.contrib.auth.hasher.make_password:對密碼進行加密

django.coontrib.auth.hasher.check_password:檢查密碼是否一致

django.contrib.auth.authenticate(request, username, password):認證

認證成功會返回user物件

認證過程中做了三件事:1.根據使用者名稱查到使用者資訊 2.比較密碼 3.判斷是否啟用

django.contrib.auth.login(request, user)

向session中儲存了三個值

sessin_key:登入的使用者id

backend_session_key:存的是乙個類對應的字串

hash_session_key:認證的hash字串

將認證成功的user物件,賦值給了request.user

django.contrib.auth.logout(request):使用者的登出功能

request.session: 是用來獲取session

當使用者使用 session (request.session)的時候,伺服器會獲取瀏覽器對應的cookie (request.cookies)

並找到 cookie name = sessionid 的 cookie

如果 找不到 (第一次使用session), 伺服器會建立乙個 session物件 ,並將 session的 id 寫入到

瀏覽器的 cookie 中 (response.addcookie) , name=sessionid , value = session的id

如果 找到了 sessionid 對應的 cookie , 通過 cookie 對應 value值 ,去伺服器中獲取 session 物件

session 的預設存活時間是 : 2周

session_cookie_age : 設定session的預設存活時間

session_expire_at_browser_close : 設定 session存活時間是否隨瀏覽器的關閉而消亡

session_serializer : 設定 session的序列化方式

request.session[key] = value

request.session.clear_expired() : 清除過期的session

request.session.flush() : 銷毀當前session 物件

Django擴充套件內建User類

內建user類 使用內建user可以方便實現登入驗證,利用admin管理介面還可以方便新增 刪除 修改使用者。乙個內建的user類定義了以下字段 username 使用者名稱 password 密碼 first name 姓名first last name 姓名last email 郵箱 group...

Django 使用者認證系統 拓展 User 模型

本教程為系列教程,為方便閱讀,每篇教程開頭列出全部教程的目錄索引 django 使用者認證系統提供了乙個內建的 user 物件,用於記錄使用者的使用者名稱,密碼等個人資訊。對於 django 內建的user模型,僅包含以下一些主要的屬性 對於一些 來說,使用者可能還包含有暱稱 頭像 個性簽名等等其它...

django使用者認證系統 拓展 User 模型

django 使用者認證系統提供了乙個內建的 user 物件,用於記錄使用者的使用者名稱,密碼等個人資訊。對於 django 內建的user模型,僅包含以下一些主要的屬性 對於一些 來說,使用者可能還包含有暱稱 頭像 個性簽名等等其它屬性,因此僅僅使用 django 內建的 user 模型是不夠。好...