文章目录
如图所示,下面给出解决方案:
如果您使用 使用 Django 默认的后台管理界面添加用户时,只看到了三个字段(通常是 username、password和 repassword),那么可以通过定义 add_fieldsets
属性来增加更多字段。
首先,您需要创建一个继承自 Django 自带的 UserAdmin
类的子类,并在其中定义 add_fieldsets
列表。在 add_fieldsets
列表中,您可以定义新的字段,以及它们在表单中的排列方式和提示文本等信息。例如,以下代码将增加一个 first_name 和 last_name 字段:
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class MyUserAdmin(UserAdmin):
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('username', 'first_name', 'last_name', 'email', 'password1', 'password2'),
}),
)
# 注销原来的 User 模型注册,并注册 MyUserAdmin
admin.site.unregister(User)
admin.site.register(User, MyUserAdmin)
在上面的代码中,我们定义了一个 MyUserAdmin
类,它继承自 Django 自带的 UserAdmin
类。我们将 add_fieldsets
设置为一个元组,其中包含一个只有一个分组的列表。在这个分组中,我们定义了要显示的字段,分别是 username、first_name、last_name、email、password1 和 password2。
通过这种方式,您可以自定义 Django 的后台管理界面中的添加用户表单,增加更多的字段和功能。需要注意的是,add_fieldsets
属性只适用于添加新的记录,如果要修改现有记录的字段,需要使用 fieldsets
属性。
具体用法请查看Django | fieldsets和add_fieldsets