<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在設計開發任何一個站點的時候都需要有“使用者”的概念,從使用者的註冊、登陸、退出或者登出,到使用者的瀏覽、訂閱等,這些都需要使用者管理系統來實現。如果沒有時間積累和相關開發工作經驗,設計一個優秀的使用者系統是很困難的。那麼 Django 又是如何解決這個問題的呢?
Django 作為功能完善的 Web 框架充分考慮到這一點,它提供的 auth 模組能夠快速的實現使用者模組的基本功能。
新建專案後,Django 就把 auth 模組的所有功能提供給了開發者使用,開發者可以呼叫相應的介面,實現不同的功能需求。auth 模組定義了一張名叫 auth_user 的資料表,該表是 auth 模組的內建使用者表,開發者呼叫 auth 模組的相應介面生成此表,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表
現在新建一張 auth_user 使用者表,併為此表新增一個新使用者 user。首先用如下方式引入 auth模組的 User 方法:
from django.contrib.auth.models import User
然後通過下面方法建立新使用者 user ,如下所示:
user=User.objects.create_user(username='JB51',password='123456',email='123456@qq.com') save()#呼叫該方法儲存資料
同時也可以使用如下方法修改密碼:
user.set_password(password='12345abc')#會對原密碼進行修改
根據具體的業務需求,還可以對錶的欄位進行增加、刪除、更改。
當涉及到使用者概念的時候也會產生使用者許可權問題,比如,如何劃分普通使用者和超級管理員使用者?針對許可權問題,Django 也提供瞭解決問題的方案,auth 模組提供了標準的許可權管理系統,它配合 Admin 後臺可以快速建立網站管理系統。
auth 模組提供了認證使用者功能,可以用下面方式引入後使用:
from django.contrib.auth import authenticate
然後使用關鍵字傳參的方法來傳遞使用者憑證,從而達到使用者認證的目的:
user = authenticate(username='CSDN',password='12345abc')
auth 模組還實現一些其它的功能,比如:
列舉一些簡單應用方法:
user.user_permission.add(permission)#給某個使用者許可權的新增許可權 group = Group.objects.create(name=group_name)#新增新的使用者組 group.save() #儲存新建好的使用者組 group.delete()#刪除使用者組
auth 模組提供的主要功能總結如下:
除了以上功能外,Django auth 模組還提供了許可權驗證等功能以及一些常用的方法。
auth 模組幫助開發人員提高了工作效率,因為每個 Web 站點的許可權管理模組或者使用者管理模組基本都是相同的邏輯,Django 的 auth 模組使開發者們不必在為一些重複性的邏輯進行構建。在實際開發工作中,使用者模組與許可權管理模組需要與實際相結合,開發者可以根據業務需求自定義或者重寫相應方法,以達到和實際業務相契合的目的。
到此這篇關於Django auth 應用模組的文章就介紹到這了,更多相關Django auth 應用模組內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45