python测试开发django(17)--admin后台自定义显示

前言

django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观。

在admin.py文件里面是可以自定义相关的内容的,也可以添加搜索框,快速的搜索相关内容。

优化列表显示

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

如果我们想让表里面的字段内容全部显示出来,需在admin.py文件添加list_display属性,相关代码如下

#admin.py
from django.contrib import admin
from tb import models
class CUsers(admin.ModelAdmin):
    list_display = ('user_name','pwd','mail') #设置显示的字段

admin.site.register(models.Users,CUsers)
admin.site.register(models.Man)  

修改后刷新页面,就可以看到显示相关字段的内容了

 添加搜索

数据库里面信息很多的时候,为了方便快速的找到想要的数据,可以添加一个搜索功能,可以用search_fields 为该列表页增加搜索栏;

在上面的代码基础上添加一个search_fields 熟悉,设置搜索的条件,按user_name搜索

#admin.py
from django.contrib import admin
from tb import models
class CUsers(admin.ModelAdmin):
    #显示的字段
    list_display = ('user_name','pwd','mail') #设置显示的字段
    #搜索条件user_name
    search_fields = ('user_name',)

admin.site.register(models.Users,CUsers)
admin.site.register(models.Man)

 刷新页面,就会多一个搜索框,搜索的内容,是可以支持模糊匹配的

 装饰器方法

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

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

# class CUsers(admin.ModelAdmin):
#     #显示的字段
#     list_display = ('user_name','pwd','mail') #设置显示的字段
#     #搜索条件user_name
#     search_fields = ('user_name',)
#
# admin.site.register(models.Users,CUsers)

@admin.register(models.Users)
class ControlUser(admin.ModelAdmin):
    #显示的字段
    list_display = ('user_name','pwd','mail')
    #搜索条件user_name
    search_fields = ('user_name',) #注意这里有个,是元组列表

admin.site.register(models.Man)

  

越努力,越幸运!!! good good study,day day up!!!
原文地址:https://www.cnblogs.com/canglongdao/p/14102980.html