日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

django18:auth模块

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django18:auth模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Auth模塊

執行數據庫遷移命令后,自動生產多個表。

django_session

auth_user

直接訪問admin路由,需要輸入用戶名和密碼,就是參考auth_user表

管理員用戶才能進入

創建超級用戶

createsuperuser

from django.contrib import auth1.校驗用戶名和密碼是否正確 user_obj=auth.authenticate(request,username=username,password=password) # 用戶名和密碼兩個一個都不能少 # 該方法返回值:當用戶名和密碼正確的時候:返回的用戶對象 #不正確返回None2.保存登錄狀態 auth.login(request,user_obj) # 這一句執行之后 request.user就能獲取當前登錄的用戶對象,user_obj3. 如何判斷當前用戶是否登錄 以及如何獲取當前登錄用戶對象 request.user.is_authenticated() # 判斷是否登錄 BOOL值 #*********在新版中貌似去掉括號才行。 request.user.is_authenticate4. 校驗用戶是否登錄from django.contrib.auth.decorators import login_required# 局部配置 @login_required(login_url='/login/') # /login/沒有登錄跳轉的頁面def xxx(request):return HttpResponse('xxx頁面') # 登錄之后的在視圖文件@login_requireddef xxx(request):return HttpResponse('xxx頁面')# 如果兩個都設置了 那么優先執行局部配置5.修改密碼request.user.check_password(old_password) # 校驗原密碼是否正確,返回boolrequest.user.set_password(new_password) #修改新密碼,需要保存request.user.save() # 一定要保存 6.注銷功能auth.logout(request) # 刪除了對應的session值 例子@login_requireddef xxx(request):auth.logout(request)return HttpResponse('xxx頁面')7.注冊功能#User.objects.create() # 創建普通用戶,密碼是明文。不推薦User.objects.createuser() # 創建普通用戶,基本都用它 User.objects.createsuperuser() # 創建超級用戶,郵箱要給數據

?setting.py

# 全局配置 在setting.py配置文件中寫以下代碼LOGIN_URL = '/login/'

?

?注冊功能例子:

擴展auth_user表

利用類的繼承# 1 類的繼承 from django.contrib.auth.models import User,AbstractUser# Create your models here. class Userinfo(AbstractUser):phone = models.BigIntegerField()avatar = models.FileField()#**繼承了AbstractUser,執行數據庫遷移命令不會創建auth_user#Userinfo表中,出現auth_user所有字段,還有自定義字段#前提:1.沒有執行數據庫遷移命令。2.如果當前數據庫已經創建(auth_user),就要創建新的數據庫。3. 擴展的字段,不要與原先表中的字段沖突4. 需要在配置文件聲明#####"""django就會將userinfo表來替換auth_user表并且之前auth模塊所有的功能不變 參照的也是userinfo表"""

?settings.py

# 2 配置文件AUTH_USER_MODEL = '應用名.表名'AUTH_USER_MODEL = 'app01.Userinfo'

參考:Django之CSRF、token驗證、csrf裝飾器、auth模塊方法大全 - Jeff的技術棧 - 博客園

總結

以上是生活随笔為你收集整理的django18:auth模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。