Django 1.8,多种自定义用户类型

Django 1.8,多种自定义用户类型,第1张

Django 1.8,多种自定义用户类型

首先,您不能为一个项目建立多个身份验证用户库。因此,您必须使用提供的Django用户身份验证并将其分叉给多种类型的用户。Django用户具有一些在注册过程中需要提供的默认值(尝试在Django
Admin中创建用户)。您可以做的是创建一个名为“ CustomUser”的模型并从中继承

AbstractUser
。这将使“
CustomUser”模型成为项目用户的默认模型。因为您是从
AbstractUser

CustomUser”模型继承的,所以原始用户模型将包含所有字段,然后您可以自行添加一些字段。您还需要在
settings.py
项目的原始用户模型不再是您的默认身份验证模型,而是将用于身份验证的新“
CustomUser”模型。查看以下代码是否有帮助。


from django.db import modelsfrom django.contrib.auth.models import AbstractUserclass CustomUser(AbstractUser):    type_choices = (        ('SU', 'Super User'),        ('A', 'User Type A'),        ('B', 'User Type B'),        ('C', 'User Type C'),    )    user_type = models.CharField(max_length=2,choices=type_choices,default='C')class UserDetails(model.Model):    type = models.oneToOneField('CustomUser')    extra_info = models.CharField(max_length=200)

在上面的代码中,您创建了CustomUser模型,用户可以在其中提供基本信息,例如用户名,密码等,这是Django中的默认设置。然后,选择它是哪种用户类型,并将其他信息保存在UserDetails模型中,该模型也与新的身份验证模型具有OneToOne关系。您需要做的最后一件事是在

settings.py
文件中。

AUTH_USER_MODEL = 'index.CustomUser'

index
CustomUser
创建我的模型的应用程序。

希望这可以帮助。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5667000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存