1. 程式人生 > >django-19.admin後臺自定義顯示

django-19.admin後臺自定義顯示

列表顯示 str 自定義列 寫法 文件 port logs mail 分享圖片

前言

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後臺自定義顯示