Django擴展內置User類


內置User類

使用內置User可以方便實現登錄驗證,利用Admin管理界面還可以方便添加、刪除、修改用戶。

一個內置的User類定義了以下字段:
username: 用戶名
password: 密碼
first_name: 姓名first
last_name: 姓名last
email: 郵箱
groups: Group類多對多的關系對象管理器
user_permissions: Permission類多對多的關系對象管理器
is_staff: 是否工作人員
is_active: 是否激活
is_superuser: 是否管理員
last_login: 最近登錄時間
date_joined: 注冊時間
 
擴展內置User類
在某些場合,用戶需要添加自定義的字段(比如:電話號碼),此時就需要擴展User類:
1. 建立一個user應用
2. 在user應用model.py文件中新建一個UserInfo的新類,繼承於AbstractUser類:
from django.db import models
from django.contrib.auth.models import AbstractUser

# 添加電話字段
class UserInfo(AbstractUser):
    phone = models.CharField(null=True, max_length=20, verbose_name='電話', default='')

    class Meta:
        pass

3. 修改Settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'guardian',
    'homepage',
    'rest_framework',
    'rest_framework.authtoken',  # TokenAuthentication
    'user',  # 添加user應用
    'stock',
    'future',
    'api',
    'perm'  
]

# 設置AUTH_USER_MODEL
AUTH_USER_MODEL = 'user.UserInfo'
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM