django 使用者認證組auth 的筆記。

2022-08-28 16:27:16 字數 2738 閱讀 2010

使用者認證元件

api:   

(一)auth模組的方法

from django.contrib import auth

1,#if驗證成功返回user物件,否則返回none

user = auth.authenticate(username=user, password=pwd)

2,定義當前登入物件

auth.login(request, user)

3,登出當前登入物件

auth.logout(request)

(二)auth_user表模組的方法

from django.contrib.auth.models import user

4,判斷當前登入是否校驗通過【is_authenticated】

request.user.is_authenticated

5,判斷擋圈登入是否校驗未通過【is_anonymous】

request.user.is_anonymous

6,建立超級使用者和普通使用者【create_user, create_superuser】

user = user.objects.create_user(username='',password='',email='')

user = user.objects.create_superuser(username='sly',password='sly',email='[email protected]')

----------   

from django.contrib import auth     #

auth模組

from django.contrib.auth.models import user #

auth_user 表的模組

from django.contrib.auth.decorators import login_required #

登入校驗 裝飾器

defauth_reg(request):

if request.method == '

post':

user = request.post.get('

name')

pwd = request.post.get('

pwd'

) user = user.objects.create_user(username=user, password=pwd) #

建立普通使用者

return redirect('

/auth_login/')

return render(request,'

auth_reg.html')

defauth_login(request):

if request.method == '

post':

user = request.post.get('

name')

pwd = request.post.get('

pwd'

) user = auth.authenticate(username=user, password=pwd) #

校驗使用者名稱和密碼。。 返回為user名或none

ifuser:

auth.login(request, user)

#request.user = user 如果沒有認證通過,那麼將會有乙個匿名使用者

next_url = request.get.get('

next

','/auth_login/

') #

不能寫死,這句的意思是,當auth_login的路徑中get的值為重定向的目標路由,

#如果沒有get值,那麼預設為auth_login

return

redirect(next_url)

return render(request, '

auth_login.html')

@login_required

#裝飾器,驗證是否為登入校驗通過。未通過時執行,在settings.py中的login_url = '/auth_login/'

defauth_index(request):

if request.user.is_authenticated: #

判斷是否 通過校驗

return render(request, '

auth_index.html')

return redirect('

/auth_login/')

@login_required

defauth_order(request):

return render(request,'

auth_order.html')

defauth_logout(request):

auth.logout(request)

#登出當前登入使用者。

return redirect('

/auth_login/

'

總結:當auth.login(request, user)為none時,那麼request.user為匿名使用者。

當auth.login(request, user)為登入物件時,那麼request.user為驗證使用者。

request.user是乙個全域性變數,它可以在任何檢視和模板直接使用。

Django 使用者認證(Auth)元件

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

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

auth模組是對登入認證方法的一種封裝,之前我們獲取使用者輸入的使用者名稱及密碼後需要自己從user表裡查詢有沒有使用者名稱和密碼符合的物件,而有了auth模組之後就可以很輕鬆的去驗證使用者的登入資訊是否存在於資料庫中。除此之外,auth還對session做了一些封裝,方便我們校驗使用者是否已登入 ...

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

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