django自帶的使用者管理系統

2022-07-07 02:54:10 字數 1552 閱讀 8671

1.什麼是django自帶的使用者系統?

django內建了auth認證系統,整個auth系統可以分為三大部分,使用者資訊,使用者許可權和使用者組,在資料庫中分別對應auth_user,auth_permission和auth_group

2.還系統有什麼優勢

預設實現了使用者的註冊,使用者登入,使用者認證,登出,修改密碼等功能

3.如何使用自帶的使用者系統(寫出重要的方法或者配置):

建立表時繼承abstractuser,其中預設已經生成了基本的字段,但是手機等特殊字段需要自己新增

建立使用者

user_obj = user.object.create(username=username,password=password)
django 自帶使用者認證系統

​它處理使用者賬號、組、許可權以及基於 cookie 的使用者會話

- django 認證系統同時處理認證和授權  

- 認證:驗證乙個使用者是否它聲稱的那個人,可用於賬號登入.

- 授權:授權決定乙個通過了認證的使用者被允許做什麼.

- django 認證系統包含的內容

- 使用者:使用者模型類、使用者認證.

- 許可權:標識乙個使用者是否可以做乙個特定的任務,mis 系統常用到.

- 組:對多個具有相同許可權的使用者進行統一管理,mis 系統常用到.

- 密碼:乙個可配置的密碼雜湊系統,設定密碼、密碼校驗.

設定密碼:set_password(raw_password)

校驗密碼:check_password(raw_password)

# 匯入

from django.db import models

from django.contrib.auth.models import abstractuser

​# 我們重寫使用者模型類, 繼承自 abstractuser

class user(abstractuser):

"""自定義使用者模型類"""

​# 在使用者模型類中增加 mobile 字段

mobile = models.charfield(max_length=11, unique=true, verbose_name='手機號')

​# 對當前表進行相關設定:

class meta:

db_table = 'tb_users'

verbose_name = '使用者'

verbose_name_plural = verbose_name

​# 在 str 魔法方法中, 返回使用者名稱

def __str__(self):

return self.username

# django 使用者模型類是通過全域性配置項 auth_user_model 決定的又因為我們重寫了使用者模型類, 所以我們需要重新指定預設的使用者模型類:

# 指定本專案使用者模型類

auth_user_model = 'users.user'

django自帶的使用者系統

基本上在任何 上,都無可避免的需要設計實現 的使用者系統。此時我們需要實現包括使用者註冊 使用者登入 使用者認證 登出 修改密碼等功能。使用django,我們可以不需要自己寫這些功能,因為django內建了強大的使用者認證系統 auth,它預設使用 auth user 表來儲存使用者資料。from ...

django 自帶的使用者系統

第一步 系統配置使用者表 首先,在models中建立使用者表,導包 from django.contrib.auth.models import abstractuser 建立使用者表 class user abstractuser username models.charfield max len...

Django自帶的使用者驗證系統

第一步 系統配置使用者表 第二步 使用者註冊和登陸驗證功能 首先,在models中建立使用者表,導包 from django.contrib.auth.models import abstractuser 建立使用者表 class user abstractuser username models....