django 自定義使用者模型
阿新 • • 發佈:2020-08-20
我們知道,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
應用到資料庫。