Django Admin显示配置

发布时间 2023-08-30 22:51:50作者: 小C学安全

优化列表显示

django的表信息列表显示默认值显示了表的相关属性

通过在admin.py文件中添加list_display 属性,自定义选择展示的内容,相关代码如下

# admin.py
from django.contrib import admin
from hello import models

# Register your models here.

class ControlUser(admin.ModelAdmin):
    '''自定义列表中栏目 添加list_display 属性'''
    list_display = ('user_name', 'psw', 'mail')   # 设置显示的字段

# User表
admin.site.register(models.User, ControlUser)
admin.site.register(models.Person)

添加搜索

数据库里面信息很多的时候,为了方便快速的找到想要的数据,可以添加一个搜索功能, 可以用search_fields 为该列表页增加搜索栏:
在上面的代码基础上添加一个search_fields 熟悉,设置搜索的条件,按user_name搜索

from django.contrib import admin
from hello import models


# Register your models here.

class ControlUser(admin.ModelAdmin):
    '''自定义列表中栏目 添加list_display 属性'''
    # 显示的字段
    list_display = ('user_name', 'psw', 'mail')
    # 搜索条件user_name
    search_fields = ('user_name',)

# User表
admin.site.register(models.User, ControlUser)

admin.site.register(models.Person)

装饰器方法

除了上面的写法,还有一种装饰器的方法也可以实现同样的效果

from django.contrib import admin
from hello.models import User,Person


# Register your models here.

@admin.register(User)
class ControlUser(admin.ModelAdmin):
    '''自定义列表中栏目 添加list_display 属性'''
    # 显示的字段
    list_display = ('user_name', 'psw', 'mail')
    # 搜索条件user_name
    search_fields = ('user_name',)


admin.site.register(Person)