django-19.admin后台自定义显示

Posted jason89

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-19.admin后台自定义显示相关的知识,希望对你有一定的参考价值。

前言

django的admin后台默认显示的内容很少,只显示了表的相关信息,查看字段内容需点开详情才能查看,不是很直观。
在admin.py文件里面是可以自定义相关的展示内容的,也可以添加搜索框,快速的搜索相关内容

优化列表显示

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)


以上是关于django-19.admin后台自定义显示的主要内容,如果未能解决你的问题,请参考以下文章

应用程序进入后台时如何在 iOS 13 上显示自定义启动画面?

织梦后台自定义表单,中文不显示,数字和字母显示的解决办法

为啥这个 Word 的自定义后台 UI 不显示其用户界面?

dedecms(织梦)自定义表单后台显示不全

自定义xadmin后台首页

如何为应用程序在后台显示的通知设置自定义布局?