25 內建使用者系統

2022-09-12 12:57:18 字數 3057 閱讀 8297

一、內建使用者系統

定義:django帶有乙個使用者認證系統,它處理使用者賬號、組、許可權以及基於cookie的使用者會話

使用者可以直接使用django自帶的使用者表

二、基本字段

模型類位置:from django.contrib.auth.models import user

# 對應資料庫的auth_user 表

username:使用者名稱

password:密碼

email:郵箱

first_name:名

last_name:姓

is_superuser:是否是管理員賬號(/admin)

is_staff:是否可以訪問admin管理介面

is_active:是否活躍使用者,預設true,一般不刪除使用者,而是將使用者的is_active設為false

last_login:上一次的登入時間

data_joined:使用者建立的時間

三、基本模型操作-建立使用者

導包:from django.contrib.auth.models import

user

1.建立普通使用者 create_user

user = user.objects.create_user(username='',password='',email=''

,...)

2.建立超級使用者 create_superuser

user = user.objects.create_superuser(username='',password='',email='',...)

四、基本模型操作-刪除使用者

try

: user = user.objects.get(username = '

使用者名稱'

) user.is_active = false #

記錄當前使用者無效

user.s**e()

pritn(

'刪除普通使用者成功')

except

: pritn(

'刪除普通通過失敗

')

五、基本模型操作-校驗密碼

from django.contrib.auth import

authenticate

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

#如果使用者名稱密碼校驗成功則返回對應的user物件,否則返回none

六、基本模型操作-修改密碼

修改密碼成功')

修改密碼失敗

')

七、基本模型操作-登入狀態保持

登入狀態成功')

登入狀態失敗

')

八、基本模型操作-登入狀態校驗

from django.contrib.auth.decorators import

login_required

@login_required

defindex_view(request):

#該檢視必須為使用者登入狀態才可訪問

#當前登入使用者可以直接通過request.user獲取,不走session獲取

login_user =request.user

#登入狀態校驗失敗對應的跳轉位址需要在settings.py配置login_url = '登入失敗要跳轉的位址'

九、基本模型操作-登入狀態取消

from django.contrib.auth import

logout

deflogout_view(request):

logout(request)

十、內建使用者表-擴充套件字段

方案1:通過建立新錶,跟內建表1對1對映

方案2:繼承內建的抽象user模型類,建立乙個新的user表完全繼承內建user模型類全部屬性,將內建user模型類的資料初始化到新的user表,並且指明應用新的user表,不再用內建使用者系統的user表

1.定義模型類繼承abstractuser

2.settings.py中指明auth_user_model = '應用名.類名'

ps:此操作要在第一次migrate前進行,因為第一次migrate執行了,內建系統的user表就已經初始化資料了

from django.contrib.auth.models import

abstractuser

class

userinfo(abstractuser):

#只定義了乙個phone欄位

#因為繼承了abstractuser,migrate的時候,內建系統user表的基礎資料會同步初始化到資料庫

phone = models.integerfield('

手機號', max_length=11, default='')

ps:操作該使用者表 的方式 要完全按照內建使用者系統的方法

Vista系統內建的使用者型別及許可權

vista系統內建的使用者型別及許可權 vista系統內建的使用者型別比較多,大多數使用者都不清楚各使用者型別的區別。本文做了乙個統計表,針對所有的vista版本逐一比較各種使用者型別及其許可權說明。如下 序號 使用者型別 說明 許可權對應的vista版本 1.administrator 管理員擁有...

Vista系統內建的使用者型別及許可權

vista 系統內建的使用者型別及許可權 vista 系統內建的使用者型別比較多,大多數使用者都不清楚各使用者型別的區別。本文做了乙個統計表,針對所有的vista版本逐一比較各種使用者型別及其許可權說明。如下 序號 使用者型別 說明 許可權對應的vista版本 1.administrator 管理員...

js 系統內建函式

var str aaaa var atest new array ff er new array 10 new array ff fee var obj new obejct var today new date math物件示需要宣告。字串 length屬性 長度 concat方法 string ...