Django 使用者認證系統

2021-10-17 15:12:23 字數 2906 閱讀 6717

二、auth模組

django內建乙個使用者認證系統,使用auth模組實現。

auth模組提供了登入、註冊、效驗、修改密碼、登出、驗證使用者是否登入等功能。

• auth_user :使用者表

• auth_user_groups :使用者所屬組的表

• auth_user_user_permissions :使用者許可權表

• auth_group :使用者組表

• auth_group_permissions :使用者組許可權表

• auth_permission :存放全部許可權的表,其他的表的許可權都是從此表中外鍵連線過去的

• django_session :儲存http狀態

• django_migrations :資料庫遷移記錄

登入django後台管理系統,建立devops使用者,用於後面的測試

登入成功,跳轉到首頁

views.py:

from django.contrib import auth

deflogin

(request)

:if request.method ==

"get"

:return render(request,

'login.html'

)elif request.method ==

"post"

:# 獲取前端登入的使用者名稱和密碼

username = request.post.get(

'username'

,none

) password = request.post.get(

'password'

,none

)# 對使用者身份驗證

user = auth.authenticate(username=username, password=password)

#驗證通過返回使用者物件,驗證失敗返回none

if user:

auth.login(request, user)

# 將request與使用者物件(包含session)傳給login()函式

return redirect(index)

# 重定向到函式名,這裡是首頁

else

: msg =

"使用者名稱或密碼輸入錯誤"

return render(request,

'login.html'

,)

login.html:

lang

="en"

>

>

charset

="utf-8"

>

>

登入頁面title

>

head

>

>

>

>

views.py:

from django.contrib.auth import login,logout

deflogout

(request)

: auth.logout(request)

# 清除當前使用者的session資訊

return redirect(login)

login_required裝飾器:判斷使用者是否登入,如果沒有登入引導至登入頁面,登入成功後跳轉到目的頁面。

views.py:

from django.contrib.auth.decorators import login_required

@login_required(

)def

index

(request)

:return render(request,

'index.html'

)

index.html:

lang

="en"

>

>

charset

="utf-8"

>

>

首頁title

>

head

>

>

>

>

href

="/myldp/logout/"

>

退出a>

body

>

html

>

在settings.py檔案設定沒有登入預設跳轉頁面:

Django 使用者認證系統 基本設定

本教程為系列教程,為方便閱讀,每篇教程開頭列出全部教程的目錄索引 提供登入 註冊等使用者認證功能是乙個常見的需求。因此,django 提供了一套功能完整的 靈活的 易於拓展的使用者認證系統 django.contrib.auth。在本教程中,我將向你展示 auth 模組的基本用法,例如如何提供使用者...

Django中的使用者認證系統

auth模組是django提供的標準許可權管 系統,可以提供使用者身份認證,使用者組和許可權管 django 內建了user模型,包含了username,password,email等字段資訊。但是實際使用時,可能會包含一些其他的字段資訊,例如手機號,頭像,簽名資訊等。此時需要在系統的user模型上...

Django預設使用者認證系統

django認證系統位置 django認證系統同時處理認證和授權 django認證系統包含的內容 django認證系統使用者模型類位置 父類abstractuser介紹 建立使用者 註冊使用者 的方法 user user.objects.create user username,email,pass...