You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义Wagtail Admin设置->用户列表视图(/admin/users/)?

自定义Wagtail Admin用户列表视图的可见列

要在Wagtail Admin的「设置->用户」列表中添加自定义User模型的额外属性列,只需通过自定义UserAdmin类实现,步骤如下:

1. 创建自定义UserAdmin类

在你的Django应用的admin.py文件中,导入Wagtail默认的UserAdmin和项目的自定义User模型,继承并重写list_display属性,把需要显示的自定义字段追加进去:

from django.contrib.auth import get_user_model
from wagtail.users.admin import UserAdmin

# 获取项目配置的自定义User模型
CustomUser = get_user_model()

class CustomUserAdmin(UserAdmin):
    # 继承默认列表字段,追加自定义字段(示例为employee_id)
    list_display = UserAdmin.list_display + ('employee_id',)

2. 注册自定义UserAdmin

先注销系统默认的User模型注册,再注册我们自定义的版本:

from django.contrib import admin

# 注销默认的User模型注册
admin.site.unregister(CustomUser)
# 注册自定义UserAdmin与自定义User模型
admin.site.register(CustomUser, CustomUserAdmin)

进阶:自定义字段显示内容

如果自定义字段需要更友好的展示(比如关联对象的名称),可以在CustomUserAdmin中定义显示方法,再添加到list_display里:

class CustomUserAdmin(UserAdmin):
    list_display = UserAdmin.list_display + ('employee_id', 'get_department')

    def get_department(self, obj):
        # 假设自定义User模型关联了department字段
        return obj.department.name
    # 设置列的显示名称
    get_department.short_description = "所属部门"

注意:确保你已在项目settings.py中通过AUTH_USER_MODEL配置好自定义User模型,示例:

AUTH_USER_MODEL = 'yourapp.CustomUser'

内容的提问来源于stack exchange,提问作者Brylie Christopher Oxley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 22:58:17