欢迎访问宙启技术站
智能推送

Django.contrib.auth.admin中的UserAdmin():自定义用户信息展示

发布时间:2023-12-25 04:18:57

Django.contrib.auth.admin模块中的UserAdmin()是用于在后台管理系统中展示和管理用户信息的类。它提供了一些默认的字段和方法,可以根据需要进行自定义。

在使用之前,我们需要先在settings.py中将'Django.contrib.auth'和'Django.contrib.contenttypes'添加到INSTALLED_APPS中,然后运行migrate命令,以创建auth_user和auth_group表。

下面是一个使用UserAdmin()自定义用户信息展示的示例:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User

class CustomUserAdmin(UserAdmin):
    list_display = ('username', 'email', 'first_name', 'last_name', 'is_staff', 'date_joined')
    search_fields = ('username', 'email', 'first_name', 'last_name')
    ordering = ('-date_joined',)

admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)

在上面的例子中,我们首先导入了admin、UserAdmin和User模型。然后创建了一个名为CustomUserAdmin的自定义类,继承自UserAdmin。

在CustomUserAdmin中,我们定义了list_display属性,用于指定在用户列表中要展示的字段。这里展示了username、email、first_name、last_name、is_staff和date_joined字段。

接下来,我们定义了search_fields属性,用于指定可以通过这些字段搜索用户的功能。这里指定了username、email、first_name和last_name字段。

最后,我们定义了ordering属性,用于指定用户列表的排序方式。这里按照date_joined字段的倒序来排序。

最后,我们通过调用admin.site.unregister()方法和admin.site.register()方法注册我们自定义的CustomUserAdmin类,替换掉默认的UserAdmin类。

通过以上的自定义,我们可以在后台管理系统中更灵活地展示和管理用户信息。当然,我们还可以根据需要添加自己的字段或方法到CustomUserAdmin类中,以实现更多的自定义功能。