python - Django UserAdmin 的 add_fieldsets?

标签 python django web django-models

我正在学习有关创建自定义用户以进行身份​​验证的教程。本教程使用了 UserAdmin 中的某个属性 add_fieldsets。这是什么意思?我似乎找不到关于此的任何文档。

这是片段:

class UserAdmin(UserAdmin):
"""Define admin model for custom User model with no email field."""

    fieldsets = (
        (None, {'fields': ('email', 'password')}),
        ('Personal info', {'fields': ('first_name', 'last_name')}),
        ('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
        ('Important dates', {'fields': ('last_login', 'date_joined')}),
        ('Contact info', {'fields': ('contact_no',)}),)

    add_fieldsets = (
        (None, {
            'classes': ('wide',),
            'fields': ('email', 'password1', 'password2'),}),)

    list_display = ('email', 'first_name', 'last_name', 'is_staff')
    search_fields = ('email', 'first_name', 'last_name')
    ordering = ('email',)

这是我遵循的教程:How to use email as username for Django authentication (removing the username)

最佳答案

add_fieldsets 类变量用于定义将在创建用户页面上显示的字段。

不幸的是,它没有很好的记录,我发现最接近文档的是代码示例中关于 https://docs.djangoproject.com/en/2.1/topics/auth/customizing/ 的注释。 (搜索页面 add_fieldsets)。

classes 键设置我们想要应用到表单部分的任何自定义 CSS 类。

fields 键设置您希望在表单中显示的字段。

在您的示例中,创建页面将允许您设置电子邮件password1password2

关于python - Django UserAdmin 的 add_fieldsets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50436596/

相关文章:

html - 如何正确放置 <aside> 标签?

web - 如果用户使用旧浏览器,可以将用户重定向到哪些好的页面?

python - 如何将 QComboBox 中的文本设置为居中对齐而不使其在 PyQt 中可编辑

django - Django 模型中的 SlugField() 与 CharField() 有什么区别

python - __unicode__ 在获取字符串表示时未调用 Django/Python 项目中的某些对象

mysql - 为网站存储数据数组的最佳方法?

python - 如何选择数据框中大于给定值的所有元素

python - pycharm 中 virtualenv 的异常文件结构?

python - 过滤掉设定时间间隔内某列的唯一值

django - 在服务器和客户端之间设置实时推送 API channel 的好方法