管理员中的Django allauth,而不是默认用户
我使用的是管理员中的Django allauth,而不是默认用户,django,django-allauth,Django,Django Allauth,我使用的是Django 2,并使用Django-allauth插件实现了用户身份验证 它在前端运行良好,但用户将由超级用户创建,因此我也需要在管理面板中进行相同的集成 到目前为止,Django admin的默认用户模型中有username和password字段,但根据Django allauth,我使用的是唯一的电子邮件,因此我希望用户注册字段为空 名字 姓 电子邮件 密码 无法理解如何在管理面板中实现django allauth 编辑2 在管理面板中添加用户页面 如何删除用户名字段并添加电子
Django 2
,并使用Django-allauth
插件实现了用户身份验证
它在前端运行良好,但用户将由超级用户创建,因此我也需要在管理面板中进行相同的集成
到目前为止,Django admin的默认用户模型中有username
和password
字段,但根据Django allauth
,我使用的是唯一的电子邮件,因此我希望用户注册字段为空
如何删除
用户名
字段并添加电子邮件
,名字
,姓氏
字段?您可以对标准用户创建和更改表单进行子类化,添加自己的字段和/或验证,然后在自定义用户管理员中使用这些字段。假设您的用户模型名为user,下面是一个示例(Django 2.1.5,Python 3.6):
您可以使用UserChangeForm
进行类似的自定义,但请注意,在管理中,需要用以下内容覆盖:
form = CustomUserChangeForm
fieldsets = UserAdmin.fieldsets + ((None, {'fields': ()}),
)
为什么不使用默认的django身份验证机制?因为默认的
django身份验证机制在创建用户时只有两个字段username
和password
。为了添加电子邮件
,我需要在添加用户后编辑该用户。但是在allauth
中,我只使用email
和password
字段,因此在添加用户时需要first\u name
、last\u name
、email
和password
字段。错误的是,默认的user
身份验证机制已经存在,用户名、first\u姓名、姓氏,电子邮件和密码
字段。有关详细信息,请参阅。请参阅问题中的编辑2
。我的意思是,在添加新用户时,只有用户名
和密码
字段。如何添加其他字段?从何处导入“表单”?
form = CustomUserChangeForm
fieldsets = UserAdmin.fieldsets + ((None, {'fields': ()}),
)