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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
教你漂亮打印Pandas DataFrames和Series
在今天的文章中,我們將探討如何配置所需的pandas選項(xiàng),這些選項(xiàng)將使我們能夠“漂亮地打印” pandas DataFrames,需要的朋友可以參考下2021-05-05Python機(jī)器學(xué)習(xí)應(yīng)用之基于決策樹算法的分類預(yù)測(cè)篇
所謂決策樹,就是一個(gè)類似于流程圖的樹形結(jié)構(gòu),樹內(nèi)部的每一個(gè)節(jié)點(diǎn)代表的是對(duì)一個(gè)特征的測(cè)試,樹的分支代表該特征的每一個(gè)測(cè)試結(jié)果,而樹的每一個(gè)葉子節(jié)點(diǎn)代表一個(gè)類別。樹的最高層是就是根節(jié)點(diǎn)2022-01-01對(duì)Python Pexpect 模塊的使用說明詳解
今天小編就為大家分享一篇對(duì)Python Pexpect 模塊的使用說明詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02Python導(dǎo)入或執(zhí)行python源文件的3種方法
這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入或執(zhí)行python源文件的3種方法,python源代碼的文件以"py"為擴(kuò)展名,由python.exe解釋,可以在控制臺(tái)下運(yùn)行,需要的朋友可以參考下2023-08-08python中shell執(zhí)行知識(shí)點(diǎn)
在本篇文章里小編給大家分享的是關(guān)于python中shell執(zhí)行知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2020-05-05Python高級(jí)技巧之利用psutil和subprocess實(shí)現(xiàn)程序監(jiān)控與管理
本文介紹了如何使用Python的psutil和subprocess模塊監(jiān)控程序運(yùn)行狀態(tài),并提供了一個(gè)案例腳本,用于監(jiān)控目標(biāo)程序并在停止時(shí)自動(dòng)重啟,詳細(xì)介紹了subprocess模塊的基本用法和psutil模塊的系統(tǒng)信息獲取、進(jìn)程管理及資源監(jiān)控功能,需要的朋友可以參考下2024-09-09Python利用treap實(shí)現(xiàn)雙索引的方法
所遍歷的元素一定是遞增(小堆)或是遞減(大堆)關(guān)系,但是我們無法得知左子樹與右子樹兩部分節(jié)點(diǎn)的排序關(guān)系。本文就來講講算法和數(shù)據(jù)結(jié)構(gòu)共同滿足一組特性,感興趣的小伙伴請(qǐng)參考下面文章的內(nèi)容2021-09-09django+tornado實(shí)現(xiàn)實(shí)時(shí)查看遠(yuǎn)程日志的方法
今天小編就為大家分享一篇django+tornado實(shí)現(xiàn)實(shí)時(shí)查看遠(yuǎn)程日志的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08Django實(shí)現(xiàn)內(nèi)容緩存實(shí)例方法
在本篇文章里小編給大家整理了關(guān)于Django實(shí)現(xiàn)內(nèi)容緩存實(shí)例方法,有需要的朋友們可以跟著學(xué)習(xí)下。2020-06-06