最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django驗(yàn)證系統(tǒng)的具體使用

 更新時(shí)間:2023年03月21日 11:13:59   作者:黑洞存在著藍(lán)天  
本文主要介紹了django驗(yàn)證系統(tǒng)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

user對(duì)象

用戶對(duì)象是認(rèn)證系統(tǒng)的核心。django的認(rèn)證框架中的用戶只有一個(gè)類

默認(rèn)用戶的主要屬性

  • username
  • password
  • email
  • first_name
  • last_name

創(chuàng)建用戶

創(chuàng)建用戶最直接的方法是使用包含create_user()的函數(shù)

from django.contrib.auth.models import User
user=User.objects.create_user("username","email","password")

創(chuàng)建超級(jí)用戶

通過(guò)命令行方式創(chuàng)建超級(jí)用戶

python manage.py createsuperuser 

更改密碼

第一種:通過(guò)命令行方式

python manage.py changepassword (你的用戶名,如果沒有輸入,默認(rèn)當(dāng)前的用戶)

第二種:通過(guò)數(shù)據(jù)模型開修改

from django.contrib.auth.models importf User
user=User.objects.get(username=(需要修改的用戶名))
user.set_password("new password")
user.save()

驗(yàn)證用戶

authenticate(request,username,password)
使用authenticate(request)來(lái)驗(yàn)證用戶。它使用username和password作為參數(shù)來(lái)驗(yàn)證,對(duì)每個(gè)身份驗(yàn)證后端進(jìn)行檢查。如果后端驗(yàn)證有效,則返回一個(gè)User對(duì)象,如果沒有,將返回None

web請(qǐng)求認(rèn)證

django使用sessions和中間件將身份驗(yàn)證系統(tǒng)掛接到請(qǐng)求對(duì)象中

它們?cè)诿看握?qǐng)求都會(huì)提供request.user屬性。如果當(dāng)前沒有用戶登錄。這個(gè)屬性將會(huì)設(shè)置為AnonymousUser,否則將會(huì)被設(shè)置為user實(shí)例

你可以使用is_authenticatded區(qū)分兩者

只讀屬性,始終返回 True (匿名用戶 AnonymousUser.is_authenticated 始終返回 False )。這是一種判斷用戶是否已通過(guò)身份認(rèn)證的方法。這并不意味著任何權(quán)限,也不會(huì)檢查用戶是否處于活動(dòng)狀態(tài)或是否具有有效會(huì)話。即使通常你會(huì)根據(jù) request.user 檢查這個(gè)屬性,以確定它是否被 AuthenticationMiddleware 填充(表示當(dāng)前登錄的用戶),但是你應(yīng)該知道該屬性對(duì)于任何 User 實(shí)例都返回 True。

if request.user.is_authenticated:
    pass
else:
    pass

用戶如何登陸

如果有已驗(yàn)證的用戶想添加到session中,將通過(guò)login()函數(shù)完成

login(request,user,)要在視圖中讓用戶登錄,使用 login() 。它需要 HttpRequest 對(duì)象和 User 對(duì)象。通過(guò) Django 的 session 框架, login() 會(huì)在 session 中保存用戶的ID。

from django.contrib.auth import authenticate,login
def fun(request):
    username=request.POST("username")
    password=request.POST("password")
    user=authenticate(request,username=username,password=password)
    if user is not None:
        login(request,user)
    else:
        pass

用戶如何登出

logout(request)

如果已經(jīng)通過(guò)django.contrib.auth.login()登錄的用戶想要登出,可以使用logout()方法,需要傳入request

from django.contrib.auth import logout
def logout_view(request):
    logout(request)

限制對(duì)未登錄用戶的訪問(wèn)

原始方式

限制訪問(wèn)頁(yè)面最原始的辦法就是檢查,request.user.is_authenticated并重定向到登錄頁(yè)面

from django.conf import settings
from django.shortcuts import redirect
def my_view(request):
    if not request.user.is_authenticated:
        return redirect()

login_required裝飾器

作為快捷方式,你可以使用login_required()裝飾器

from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
    ...

login_required()會(huì)執(zhí)行以下操作:

  • 如果用戶沒有登錄,會(huì)重定向到settings.LOGIN_URL,并傳遞絕對(duì)路徑到查詢字符串中,例如: /accounts/login/?next=/polls/3/ 。
  • 如果用戶已經(jīng)登錄,則正常執(zhí)行視圖
  • login_required()也有可選參數(shù)login_url用來(lái)指定重定向的路由
  • 默認(rèn)情況下,成功驗(yàn)證時(shí)用戶跳轉(zhuǎn)的路徑保存在名為 "next" 的查詢字符串參數(shù)中。如果你希望這個(gè)參數(shù)使用不同名稱,請(qǐng)?jiān)?login_required() 中傳遞可選參數(shù) redirect_field_name :

LoginRequired Mixin

使用基于類的視圖時(shí),可以使用LoginRequiredMixin實(shí)現(xiàn)和login_required相同的行為。這個(gè)Mixin應(yīng)該在繼承列表最左邊的位置

from django.contrib.auth.mixins import LoginRequiredMixin
class MyView(LoginRequiredMixin,View):
    login_url="/login/"
    redirect_field_name="xxx"

到此這篇關(guān)于django驗(yàn)證系統(tǒng)的具體使用的文章就介紹到這了,更多相關(guān)django 驗(yàn)證系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django中如何使用sass的方法步驟

    Django中如何使用sass的方法步驟

    這篇文章主要介紹了Django中如何使用sass的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python中有哪些關(guān)鍵字及關(guān)鍵字的用法

    Python中有哪些關(guān)鍵字及關(guān)鍵字的用法

    這篇文章主要介紹了Python中有哪些關(guān)鍵字及關(guān)鍵字的用法,分享python中常用的關(guān)鍵字,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Python selenium實(shí)現(xiàn)斷言3種方法解析

    Python selenium實(shí)現(xiàn)斷言3種方法解析

    這篇文章主要介紹了Python selenium實(shí)現(xiàn)斷言3種方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟

    python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟

    這篇文章主要介紹了python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • 解決安裝python3.7.4報(bào)錯(cuò)Can''''t connect to HTTPS URL because the SSL module is not available

    解決安裝python3.7.4報(bào)錯(cuò)Can''''t connect to HTTPS URL because the S

    這篇文章主要介紹了解決安裝python3.7.4報(bào)錯(cuò)Can't connect to HTTPS URL because the SSL module is not available,本文給大家簡(jiǎn)單分析了錯(cuò)誤原因,給出了解決方法,需要的朋友可以參考下
    2019-07-07
  • Python實(shí)現(xiàn)從log日志中提取ip的方法【正則提取】

    Python實(shí)現(xiàn)從log日志中提取ip的方法【正則提取】

    這篇文章主要介紹了Python實(shí)現(xiàn)從log日志中提取ip的方法,涉及Python文件讀取、數(shù)據(jù)遍歷、正則匹配等相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • 如何將寫好的.py/.java程序變成.exe文件詳解

    如何將寫好的.py/.java程序變成.exe文件詳解

    有時(shí)候我們需要將自己寫的代碼打包成exe文件,給別人使用需要怎么辦呢,下面這篇文章主要給大家介紹了關(guān)于如何將寫好的.py/.java程序變成.exe文件的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Python在后臺(tái)自動(dòng)解壓各種壓縮文件的實(shí)現(xiàn)方法

    Python在后臺(tái)自動(dòng)解壓各種壓縮文件的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python在后臺(tái)自動(dòng)解壓各種壓縮文件的實(shí)現(xiàn)方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Pandas.DataFrame重置Series的索引index(reset_index)

    Pandas.DataFrame重置Series的索引index(reset_index)

    本文主要介紹了Pandas.DataFrame重置Series的索引index(reset_index),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python實(shí)現(xiàn)QQ郵箱發(fā)送郵件

    python實(shí)現(xiàn)QQ郵箱發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)QQ郵箱發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評(píng)論

香港| 福建省| 定安县| 金阳县| 洛南县| 文化| 石景山区| 连南| 朝阳市| 蓬溪县| 长岭县| 沾化县| 赤水市| 新乡市| 陕西省| 昌乐县| 察哈| 德保县| 兰考县| 福建省| 昭苏县| 大渡口区| 滦平县| 贡山| 安西县| 抚远县| 开原市| 龙里县| 鹤庆县| 成都市| 湖州市| 华亭县| 于田县| 重庆市| 邹城市| 略阳县| 习水县| 安泽县| 武山县| 沙洋县| 镇巴县|