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!!!