Django之auth模組(使用者認證)

2022-04-11 01:02:35 字數 1360 閱讀 7361

auth模組是對登入認證方法的一種封裝,之前我們獲取使用者輸入的使用者名稱及密碼後需要自己從user表裡查詢有沒有使用者名稱和密碼符合的物件,

而有了auth模組之後就可以很輕鬆的去驗證使用者的登入資訊是否存在於資料庫中。

除此之外,auth還對session做了一些封裝,方便我們校驗使用者是否已登入

首先匯入模組

from django.contrib import auth

提供了使用者認證,即驗證使用者名稱以及密碼是否正確,一般需要username  password兩個關鍵字引數

如果認證資訊有效,會返回乙個  user  物件。authenticate()會在user 物件上設定乙個屬性標識那種認證後端認證了該使用者,且該資訊在後面的登入過程中是需要的。當我們試圖登陸乙個從資料庫中直接取出來不經過authenticate()的user物件會報錯的!!

user = authenticate(username='

someone

',password='

somepassword

')

該函式接受乙個httprequest物件,以及乙個認證了的user物件

此函式使用django的session框架給某個已認證的使用者附加上session id等資訊。

from django.contrib.auth import

authenticate, login

defmy_view(request):

username = request.post['

username']

password = request.post['

password']

user = authenticate(username=username, password=password)

if user is

notnone:

login(request, user)

#redirect to a success page.

...

else

:

#return an 'invalid login' error message.

...

該函式接受乙個httprequest物件,無返回值。當呼叫該函式時,當前請求的session資訊會全部清除。該使用者即使沒有登入,使用該函式也不會報錯。

from django.contrib.auth import

logout

deflogout_view(request):

logout(request) #

redirect to a success page.

Django框架之 使用者認證auth模組

我們在開發乙個 時,無法避免的需要設計 的使用者系統,此時我們需要實現包括使用者註冊,登入,認證,登出,修改密碼等功能,把這些事全部寫一遍也挺麻煩的,django作為乙個完美主義的終極框架,也當然會為使用者想到這些痛點,它內建了強大的使用者認證系統,預設使用auth user表來儲存使用者資料 au...

Django 使用者認證(Auth)元件

django 使用者認證 auth 元件一般用在使用者的登入註冊上,用於判斷當前的使用者是否合法,並跳轉到登陸成功或失敗頁面。django 使用者認證 auth 元件需要匯入 auth 模組 認證模組 from django.contrib import auth 對應資料庫 from django...

Django之auth認證元件

此時我們需要實現包括使用者註冊 使用者登入 使用者認證 登出 修改密碼等功能,這還真是個麻煩的事情呢。django作為乙個完美主義者的終極框架,當然也會想到使用者的這些痛點。它內建了強大的使用者認證系統 auth,它預設使用 auth user 表來儲存使用者資料。建立使用者 python mana...