1. 程式人生 > 實用技巧 >django 自定義使用者模型

django 自定義使用者模型

我們知道,Django有自帶的後臺管理和使用者模型,但是很多時候不能滿足我們的需求,所以記錄一下如何實現最基本的自定義使用者模型。

我看晚上其他的文章,都比較簡略,讓我這個剛接觸django的新手一頭霧水,我來寫一個詳細版。

django版本:3.1 python版本:3.6.7 使用虛擬環境

首先建立Django 專案。 acsbbs是專案名稱,我準備寫個論壇練手。

$ django-admin startproject acsbbs         

然後建立一個app應用

$ python manage.py startapp accounts

在專案的settings.py中新增:

AUTH_USER_MODEL = 'accounts.User'

accounts是剛建立的app,User是使用者物件。

在settings.py檔案中註冊剛才的app.

我先建立了一個apps資料夾來存放所有的app,把建立的accounts移動到apps中。

修改accounts應用中的model.py

from django.contrib.auth.models import AbstractUser
# Create your models here.

class User(AbstractUser):
    pass

User 繼承了最基本的模型,這裡可以新增自己需要的欄位。

修改accounts應用的admin.py

from django.contrib import admin
from django .contrib.auth.admin import UserAdmin
from acsbbs.apps.accounts.models import User
# Register your models here.


admin.site.register(User, UserAdmin)

執行:

python manage.py makemigrations

生成遷移檔案。

執行:

python manage.py migrate

應用到資料庫。