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

Django auth 應(yīng)用模塊詳解

 更新時(shí)間:2022年11月12日 15:58:12   作者:梁辰興  
這篇文章主要介紹了Django auth 應(yīng)用模塊,auth 模塊幫助開發(fā)人員提高了工作效率,因?yàn)槊總€(gè) Web 站點(diǎn)的權(quán)限管理模塊或者用戶管理模塊基本都是相同的邏輯,Django 的 auth 模塊使開發(fā)者們不必在為一些重復(fù)性的邏輯進(jìn)行構(gòu)建,需要的朋友可以參考下

Django auth 應(yīng)用模塊

在設(shè)計(jì)開發(fā)任何一個(gè)站點(diǎn)的時(shí)候都需要有“用戶”的概念,從用戶的注冊(cè)、登陸、退出或者注銷,到用戶的瀏覽、訂閱等,這些都需要用戶管理系統(tǒng)來(lái)實(shí)現(xiàn)。如果沒有時(shí)間積累和相關(guān)開發(fā)工作經(jīng)驗(yàn),設(shè)計(jì)一個(gè)優(yōu)秀的用戶系統(tǒng)是很困難的。那么 Django 又是如何解決這個(gè)問題的呢?

一,Django的auth模塊

Django 作為功能完善的 Web 框架充分考慮到這一點(diǎn),它提供的 auth 模塊能夠快速的實(shí)現(xiàn)用戶模塊的基本功能。

新建項(xiàng)目后,Django 就把 auth 模塊的所有功能提供給了開發(fā)者使用,開發(fā)者可以調(diào)用相應(yīng)的接口,實(shí)現(xiàn)不同的功能需求。auth 模塊定義了一張名叫 auth_user 的數(shù)據(jù)表,該表是 auth 模塊的內(nèi)建用戶表,開發(fā)者調(diào)用 auth 模塊的相應(yīng)接口生成此表,auth_user 表的字段以及字段類型,如下所示。

+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| password     | varchar(128) | NO   |     | NULL    |                |
| last_login   | datetime(6)  | YES  |     | NULL    |                |
| is_superuser | tinyint(1)   | NO   |     | NULL    |                |
| username     | varchar(150) | NO   | UNI | NULL    |                |
| first_name   | varchar(30)  | NO   |     | NULL    |                |
| last_name    | varchar(150) | NO   |     | NULL    |                |
| email        | varchar(254) | NO   |     | NULL    |                |
| is_staff     | tinyint(1)   | NO   |     | NULL    |                |
| is_active    | tinyint(1)   | NO   |     | NULL    |                |
| date_joined  | datetime(6)  | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+
11 rows in set (0.02 sec)#auth_user表

現(xiàn)在新建一張 auth_user 用戶表,并為此表添加一個(gè)新用戶 user。首先用如下方式引入 auth模塊的 User 方法:

from django.contrib.auth.models import User
然后通過下面方法創(chuàng)建新用戶 user ,如下所示:

user=User.objects.create_user(username='JB51',password='123456',email='123456@qq.com')
save()#調(diào)用該方法保存數(shù)據(jù) 

同時(shí)也可以使用如下方法修改密碼:

user.set_password(password='12345abc')#會(huì)對(duì)原密碼進(jìn)行修改

根據(jù)具體的業(yè)務(wù)需求,還可以對(duì)表的字段進(jìn)行增加、刪除、更改。

當(dāng)涉及到用戶概念的時(shí)候也會(huì)產(chǎn)生用戶權(quán)限問題,比如,如何劃分普通用戶和超級(jí)管理員用戶?針對(duì)權(quán)限問題,Django 也提供了解決問題的方案,auth 模塊提供了標(biāo)準(zhǔn)的權(quán)限管理系統(tǒng),它配合 Admin 后臺(tái)可以快速建立網(wǎng)站管理系統(tǒng)。

auth 模塊提供了認(rèn)證用戶功能,可以用下面方式引入后使用:

from django.contrib.auth import authenticate
然后使用關(guān)鍵字傳參的方法來(lái)傳遞用戶憑證,從而達(dá)到用戶認(rèn)證的目的:

user = authenticate(username='CSDN',password='12345abc')

二,auth應(yīng)用模塊的其他作用

auth 模塊還實(shí)現(xiàn)一些其它的功能,比如:

  • 用戶的登錄(login)、退出(logout)功能,封裝在 django.contrib.auth 里;
  • 用戶權(quán)限系統(tǒng)封裝在 django.contrib.auth.models.Permission 中 ,可以對(duì)用戶的權(quán)限進(jìn)行增加、修改、刪除;
  • 用戶組可以通過 from django.contrib.auth.models.Group 導(dǎo)入后來(lái)創(chuàng)建組或者刪除組。

列舉一些簡(jiǎn)單應(yīng)用方法:

user.user_permission.add(permission)#給某個(gè)用戶權(quán)限的添加權(quán)限
group = Group.objects.create(name=group_name)#添加新的用戶組
group.save() #保存新建好的用戶組
group.delete()#刪除用戶組

三,auth模塊總結(jié)

auth 模塊提供的主要功能總結(jié)如下:

  • 實(shí)現(xiàn)并維護(hù)了用戶與用戶組的增加、刪除、更改功能;
  • 實(shí)現(xiàn)了用戶權(quán)限與用戶組權(quán)限的增加、刪除、更改;
  • 實(shí)現(xiàn)了可以自定義用戶權(quán)限與用戶組權(quán)限功能。

除了以上功能外,Django auth 模塊還提供了權(quán)限驗(yàn)證等功能以及一些常用的方法。

auth 模塊幫助開發(fā)人員提高了工作效率,因?yàn)槊總€(gè) Web 站點(diǎn)的權(quán)限管理模塊或者用戶管理模塊基本都是相同的邏輯,Django 的 auth 模塊使開發(fā)者們不必在為一些重復(fù)性的邏輯進(jìn)行構(gòu)建。在實(shí)際開發(fā)工作中,用戶模塊與權(quán)限管理模塊需要與實(shí)際相結(jié)合,開發(fā)者可以根據(jù)業(yè)務(wù)需求自定義或者重寫相應(yīng)方法,以達(dá)到和實(shí)際業(yè)務(wù)相契合的目的。

到此這篇關(guān)于Django auth 應(yīng)用模塊的文章就介紹到這了,更多相關(guān)Django auth 應(yīng)用模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中表格插件Tabulate的用法小結(jié)

    Python中表格插件Tabulate的用法小結(jié)

    這篇文章主要介紹了Python中表格插件Tabulate的用法,Tabulate插件是一個(gè)功能強(qiáng)大、簡(jiǎn)單易用的數(shù)據(jù)可視化工具,它能夠滿足我們?cè)赑ython中進(jìn)行表格數(shù)據(jù)展示的各種需求,通過使用Tabulate插件,我們能夠輕松地生成美觀且易讀的表格,需要的朋友可以參考下
    2023-11-11
  • 20招讓你的Python飛起來(lái)!

    20招讓你的Python飛起來(lái)!

    20招讓你的 Python飛起來(lái)!這篇文章主要為大家詳細(xì)介紹了Python性能優(yōu)化的20條建議,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Python 自動(dòng)化處理Excel和Word實(shí)現(xiàn)自動(dòng)辦公

    Python 自動(dòng)化處理Excel和Word實(shí)現(xiàn)自動(dòng)辦公

    毫無(wú)疑問,Microsoft Excel 和 Word 是我們?nèi)粘^k公中使用最廣泛的辦公軟件。將反復(fù)、復(fù)雜的工作自動(dòng)化處理,是我們需要思考的問題,本篇文章幫你解決這個(gè)問題
    2021-11-11
  • Appium+Python+pytest自動(dòng)化測(cè)試框架的實(shí)戰(zhàn)

    Appium+Python+pytest自動(dòng)化測(cè)試框架的實(shí)戰(zhàn)

    本文主要介紹了Appium+Python+pytest自動(dòng)化測(cè)試框架的實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Python繪圖并標(biāo)記出指定點(diǎn)(最大值點(diǎn))方法實(shí)例

    Python繪圖并標(biāo)記出指定點(diǎn)(最大值點(diǎn))方法實(shí)例

    我們?cè)谟胮ython畫散點(diǎn)圖的時(shí)候經(jīng)常會(huì)需要標(biāo)記出特定的點(diǎn),這篇文章主要給大家介紹了關(guān)于Python繪圖并標(biāo)記出指定點(diǎn)(最大值點(diǎn))的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • python中解析json格式文件的方法示例

    python中解析json格式文件的方法示例

    這篇文章主要給大家介紹了python中解析json格式文件的相關(guān)資料,解析json文件就是編碼和解碼,本文還介紹了在解析中可能遇到的問題與解決方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-05-05
  • python 構(gòu)造三維全零數(shù)組的方法

    python 構(gòu)造三維全零數(shù)組的方法

    今天小編就為大家分享一篇python 構(gòu)造三維全零數(shù)組的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-11-11
  • 重命名批處理python腳本

    重命名批處理python腳本

    師兄采集的視網(wǎng)膜圖像放在一個(gè)文件夾下,由于分類十分混亂,因此出現(xiàn)了一個(gè)文件多次出現(xiàn)的情況,因此讓我寫了個(gè)腳本
    2013-04-04
  • python中的對(duì)數(shù)log函數(shù)表示及用法

    python中的對(duì)數(shù)log函數(shù)表示及用法

    在本篇文章里小編給大家整理了一篇關(guān)于python中的對(duì)數(shù)log函數(shù)表示及用法,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • python3 動(dòng)態(tài)模塊導(dǎo)入與全局變量使用實(shí)例

    python3 動(dòng)態(tài)模塊導(dǎo)入與全局變量使用實(shí)例

    今天小編就為大家分享一篇python3 動(dòng)態(tài)模塊導(dǎo)入與全局變量使用實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-12-12

最新評(píng)論

凤台县| 万盛区| 南丹县| 台安县| 西青区| 吐鲁番市| 五大连池市| 庆元县| 东明县| 牙克石市| 长子县| 牟定县| 卢湾区| 平果县| 通渭县| 中阳县| 黄石市| 汉中市| 花莲县| 满洲里市| 开封县| 贺州市| 文昌市| 黑水县| 万宁市| 锦屏县| 柞水县| 莎车县| 墨竹工卡县| 旺苍县| 南溪县| 渑池县| 兴安盟| 吉木乃县| 米泉市| 凌海市| 伊通| 洪江市| 虹口区| 中宁县| 东源县|