您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Django auth UserAdmin创建自定义用户模型

使用Django auth UserAdmin创建自定义用户模型

在研究Django源代码一段时间后,我发现了一个可行的灵魂。我对这种解决方案并不完全满意,但它似乎有效。欢迎提出更好的解决方案!

Django用于UserAdmin呈现User模型的漂亮管理员外观。通过在我们的admin.py-file文件中使用它,我们可以获得与模型相同的外观。

from django.contrib.auth.admin import UserAdmin
admin.site.register(MyUser, UserAdmin)

但是,仅此方法可能不是一个好的解决方案,因为Django Admin将不会显示任何特殊字段。有两个原因:

from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import UserChangeForm

class MyUserChangeForm(UserChangeForm):
    class Meta(UserChangeForm.Meta):
        model = MyUser

class MyUserAdmin(UserAdmin):
    form = MyUserChangeForm

    fieldsets = UserAdmin.fieldsets + (
            (None, {'fields': ('some_extra_data',)}),
    )


admin.site.register(MyUser, MyUserAdmin)
Go 2022/1/1 18:23:18 有321人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶