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

应用到数据库。

 

posted @ 2020-08-20 16:42  DRQ丶  阅读(160)  评论(0编辑  收藏  举报