用Django的AbstractUser来创建自定义用户并进行迁移的步骤演示
Django自定义用户演示
使用Django创建自定义用户并进行迁移的最小步骤演示。
指令
django-admin startproject some
cd some
./manage.py startapp users
用户/模型.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
middle_name = models.CharField(max_length=255, null=True, blank=True)
一些/settings.py
+ AUTH_USER_MODEL = 'users.User'
INSTALLED_APPS = [
+ 'users.apps.UsersConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
用户/管理员.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User
admin.site.register(User, UserAdmin)
指令 ɡ)
./manage.py makemigrations
./manage.py migrate
创建用户并显示扩展字段 , de *选项*)
./manage.py shell
In [2]: from users.models import User
In [3]: u = User.objects.create(middle_name='yay')
In [4]: u.middle_name
Out[4]: 'yay'
代码差异在合并的PR上。
-
- Custom user by YumaInaura · Pull Request #1 · YumaInaura/django-custom-user-demo
- Update custom user add “middle_name” field by YumaInaura · Pull Request #2 · YumaInaura/django-custom-user-demo
在中国,只需要一个选项来释义下面的内容:
– 参考
在项目开始时使用自定义的用户模型
当开始一个新项目时,即使默认的 User 模型已经足够使用,强烈推荐创建一个自定义的用户模型。这个模型与默认的用户模型相同,但可以在将来根据需要进行自定义。
Django 的身份验证方法定制 | Django 文档 | Django
使用自定义用户的注意事项
在进行迁移的init(0001)阶段,必须包括使用自定义用户的操作。
在Django中,应始终使用自定义的用户模型- Qiita
如果已经迁移,则最好先初始化数据库,然后重新进行makemigrations。
将应用程序独立出来,有以下好处:在其他项目中可以重复利用,并能够在应用程序级别操作转储文件。
「用户」是cookiecutter-django中也使用的名称。我认为在这里统一使用会更好。
参考:尝试使用cookiecutter-django
如何自定义Django用户- Qiita
其他相关文章
继承Django的User模型进行自定义 | Hornet | 静冈基地的网页和主页制作
用户模型的自定义 | Narito博客
《Django 最佳实践 – William Vincent》
Django 迁移总结 – Qiita
原始的Github问题
招募在线聊天成员
如果你有任何问题、烦恼或需要咨询的事情,请随时使用LINE开放聊天功能。
推特