在Django中,可以通过自定义用户模型来创建多种类型的用户。以下是一个实现的步骤:
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
from django.db import models
class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(unique=True)
username = models.CharField(max_length=30, unique=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
# 添加额外的字段
# ...
# 定义必需的字段
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
# 添加额外的方法
# ...
AUTH_USER_MODEL = 'accounts.CustomUser'
python manage.py makemigrations
python manage.py migrate
from django.contrib.auth import get_user_model
User = get_user_model()
# 创建普通用户
user = User.objects.create_user(email='user@example.com', username='user', password='password')
# 创建管理员用户
admin = User.objects.create_superuser(email='admin@example.com', username='admin', password='password')
通过以上步骤,你可以在Django中通过自定义用户模型创建多种类型的用户。根据具体需求,你可以根据自己的业务逻辑和字段需求来扩展和定制用户模型。
领取专属 10元无门槛券
手把手带您无忧上云