Django Auth用戶認(rèn)證組件實(shí)現(xiàn)代碼
用戶認(rèn)證組件:
功能:用session記錄登錄驗(yàn)證狀態(tài)
前提:用戶表:django自帶的auth-user
python3 manage.py createsuperuser #創(chuàng)建超級(jí)用戶
補(bǔ)充匿名用戶:
API: from django.contrib import auth : 1. #if 驗(yàn)證成功返回user對(duì)象,否則返回None user = auth.authenticate(username=user,password=pwd) 2. auth.login(request,user) #request.user 當(dāng)前登錄對(duì)象 3. auth.login(request) from django.contrib.auth.models import User #User == auth_user 4. request.user.is_authenticated 5.user = User.objects.create_user(username=’’,password=’’,email=’’) 補(bǔ)充: 匿名用戶對(duì)象: 匿名用戶 class models.AnonymousUser django.contrib.auth.models.AnonymousUser #這個(gè)類實(shí)現(xiàn)了django.contrib.auth.models.User 借口,但是又幾點(diǎn)不同: id永遠(yuǎn)是None username永遠(yuǎn)為空字符串 get_username()永遠(yuǎn)返回空字符串 is_staff和is_superuser永遠(yuǎn)是False is_active永遠(yuǎn)是False groups和user_permissions永遠(yuǎn)為空 is_annonymous()返回True 而不是False is_authenticated()返回時(shí)False,而不是True set_password()、check_password()、save()和delete()引發(fā)NotImplementedError。 New in Django 1.8: 新增 AnonymouseUser.get_username()以更好的模擬django.contrib.auth.moudels.User總結(jié):if not :auth.login(request,user)request.user = AnonymousUser()else:request.user==登錄對(duì)象request.user是一個(gè)全局變量
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
