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,是官網上推...