如何在Django admin添加用户页面添加邮箱
How to add email in Django amin Add user Page
我创建了一个 CustomUser(AbstractUser) 模型,在这个模型中,我想在管理员添加用户中添加电子邮件 ID 字段 Page.Currently 默认情况下,首先我们可以输入用户名和密码,在创建用户名和密码后,我们被重定向到另一个可用电子邮件字段的页面 我希望添加用户页面上的此电子邮件字段可行吗?
在您应用的 admin.py
中,创建一个 ModelAdmin
并使用 fields
属性在视图中包含电子邮件字段。
示例:
from django.contrib import admin
from myproject.myapp.models import CustomUser
class CustomUserAdmin(admin.ModelAdmin):
fields = ('username', 'password', 'email')
admin.site.register(CustomUser,CustomUserAdmin)
在管理员 django 上已经有一个默认的 BaseUserAdmin
,它有 2 个部分,添加表单和更改表单,这两个表单都是从字段集(更改表单)和 add_fieldsets(添加表单)创建的)
要在添加表单上添加字段或删除字段,请覆盖 BaseUserAdmin add_fieldsets:
from django.contrib.auth.admin import UserAdmin
class CustomUserAdmin(UserAdmin):
add_fieldsets = UserAdmin.add_fieldsets + (
(None, {'fields': ('email',)}),
)
If you are using a custom ModelAdmin which is a subclass of
django.contrib.auth.admin.UserAdmin, then you need to add your custom
fields to fieldsets (for fields to be used in editing users) and to
add_fieldsets (for fields to be used when creating a user)
第二种方法:覆盖add_fieldsets属性本身:
class CustomUserAdmin(UserAdmin):
# add_fieldsets is not a standard ModelAdmin attribute. UserAdmin
# overrides get_fieldsets to use this attribute when creating a user.
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'email', 'password1', 'password2'),
}),
)
文档:https://docs.djangoproject.com/en/3.1/topics/auth/customizing/#custom-users-and-django-contrib-admin
我创建了一个 CustomUser(AbstractUser) 模型,在这个模型中,我想在管理员添加用户中添加电子邮件 ID 字段 Page.Currently 默认情况下,首先我们可以输入用户名和密码,在创建用户名和密码后,我们被重定向到另一个可用电子邮件字段的页面 我希望添加用户页面上的此电子邮件字段可行吗?
在您应用的 admin.py
中,创建一个 ModelAdmin
并使用 fields
属性在视图中包含电子邮件字段。
示例:
from django.contrib import admin
from myproject.myapp.models import CustomUser
class CustomUserAdmin(admin.ModelAdmin):
fields = ('username', 'password', 'email')
admin.site.register(CustomUser,CustomUserAdmin)
在管理员 django 上已经有一个默认的 BaseUserAdmin
,它有 2 个部分,添加表单和更改表单,这两个表单都是从字段集(更改表单)和 add_fieldsets(添加表单)创建的)
要在添加表单上添加字段或删除字段,请覆盖 BaseUserAdmin add_fieldsets:
from django.contrib.auth.admin import UserAdmin
class CustomUserAdmin(UserAdmin):
add_fieldsets = UserAdmin.add_fieldsets + (
(None, {'fields': ('email',)}),
)
If you are using a custom ModelAdmin which is a subclass of django.contrib.auth.admin.UserAdmin, then you need to add your custom fields to fieldsets (for fields to be used in editing users) and to add_fieldsets (for fields to be used when creating a user)
第二种方法:覆盖add_fieldsets属性本身:
class CustomUserAdmin(UserAdmin):
# add_fieldsets is not a standard ModelAdmin attribute. UserAdmin
# overrides get_fieldsets to use this attribute when creating a user.
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'email', 'password1', 'password2'),
}),
)
文档:https://docs.djangoproject.com/en/3.1/topics/auth/customizing/#custom-users-and-django-contrib-admin