Django擴充套件預設的User Model

2021-10-01 16:14:48 字數 2267 閱讀 9079

django中為我們預設提供了使用者模組user,但是其當中的字段可能並不能完全滿足我們的需求,這時我們就需要自定義乙個user model出來,如果你對自帶的user模型很滿意,僅僅是需要新增幾個額外的字段,你就可以新建乙個model類繼承abstractuser, 或者你完全不需要user模型中提供的類似first_name、last_name這些字段,你可以將model類繼承abstractbaseuser,這樣只會保留password,last_login,is_active這三個字段。

本文介紹的是繼承自abstractuser的用法

在models.py中新建乙個model繼承自abstractuser

python

from django.db import models # create your models here. from django.contrib.auth.models import abstractuser from enum import enum class userprofile(abstractuser): gender = [ (0,"未知"), (1,"男性"), (2,"女性") ] nickname = models.charfield(max_length=50) intro = models.charfield(max_length=500) mobile = models.charfield(max_length=13) gender = models.integerfield(choices=gender,default=0) required_fields = ['nickname', 'intro', 'mobile', 'gender']

12

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

from

django

.db

import

models

# create your models here.

from

django

.contrib

.auth

.models

import

abstractuser

from

enum

import

enum

class

userprofile

(abstractuser):

gender=[

( 0

,"未知"),

( 1

,"男性"),

( 2

,"女性"

)]

nickname

=models

.charfield

(max_length=50

)intro

=models

.charfield

(max_length

=500

)mobile

=models

.charfield

(max_length=13

)gender

=models

.integerfield

(choices

=gender

,default=0

)required_fields=[

'nickname'

,'intro'

,'mobile'

,'gender'

]在setting.py中設定 auth_user_model

python

auth_user_model = 'user.userprofile'

12

auth_user_model

='user.userprofile'

5868037 qq號

[email protected] qq郵箱

Django擴充套件內建User類

內建user類 使用內建user可以方便實現登入驗證,利用admin管理介面還可以方便新增 刪除 修改使用者。乙個內建的user類定義了以下字段 username 使用者名稱 password 密碼 first name 姓名first last name 姓名last email 郵箱 group...

django 修改預設的user表和預設的認證系統

django的功能非常強大,但是自帶的user表很多情況下並不滿足我們的需求,因此我們需要修改其預設的user表,並且把用username登入改成用email登入 from django.contrib.auth.models import abstractuser from django.db i...

django 中User的重寫

django本身的auth user 只包含了基本的資訊包括使用者名稱,密碼,郵箱以及註冊時間和最新的登入時間,但是這些欄位很難滿足我們的要求,有時我們想記錄使用者更多的資訊,例如手機號等資訊,這時就需要在auth user 的基礎上增加字段,django自定義user網上有四種方法。1,是官網上推...