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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

用户模型类(AbstractUser 介绍)

發布時間:2023/12/31 综合教程 24 生活家
生活随笔 收集整理的這篇文章主要介紹了 用户模型类(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 介绍)的全部內容,希望文章能夠幫你解決所遇到的問題。

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