用户模型类(AbstractUser 介绍)
生活随笔
收集整理的這篇文章主要介紹了
用户模型类(AbstractUser 介绍)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
AbstractUser 介紹
User 對象基本屬性:
創建用戶必選: username、password
創建用戶可選:email、first_name、last_name、last_login、date_joined、is_active 、is_staff、is_superuse
判斷用戶是否通過認證:is_authenticated
創建用戶的方法
user = User.objects.create_user(username, email, password, **extra_fields)
用戶認證的方法
Django 自帶用戶認證系統
它處理用戶賬號、組、權限以及基于 cookie 的用戶會話
- Django 認證系統同時處理認證和授權
- 認證:驗證一個用戶是否它聲稱的那個人,可用于賬號登錄.
- 授權:授權決定一個通過了認證的用戶被允許做什么.
- Django 認證系統包含的內容
- 用戶:用戶模型類、用戶認證.
- 權限:標識一個用戶是否可以做一個特定的任務,MIS 系統常用到.
- 組:對多個具有相同權限的用戶進行統一管理,MIS 系統常用到.
- 密碼:一個可配置的密碼哈希系統,設置密碼、密碼校驗.
from django.contrib.auth import authenticate
#進行認證校驗, 查看用戶是否是聲明的那一個
user = authenticate(username=username, password=password, **kwargs)
處理密碼的方法
設置密碼: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 用戶認證系統說明文檔
指定用戶模型類
Django 用戶模型類是通過全局配置項 AUTH_USER_MODEL 決定的
又因為我們重寫了用戶模型類, 所以我們需要重新指定默認的用戶模型類:
在 dev.py 文件中添加如下代碼:
# 指定本項目用戶模型類
AUTH_USER_MODEL = 'users.User'
總結
以上是生活随笔為你收集整理的用户模型类(AbstractUser 介绍)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA配置Struts框架
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?