django學習-23.admin管理后台的數據表數據的自定義展示


目錄結構

1.前言

2.自定義設置一張指定的數據表的列表展示內容

2.1.第一步:如果我們想讓數據表【hello_person】里面的表字段值全部展示出來,需在應用【hello】里的【admin.py】里添加list_display 屬性等代碼內容,相關代碼如下

2.2.第二步:重啟django項目【helloworld】的服務

2.3.第三步:重新成功登陸admin管理后台

2.4.第四步:查看數據表【hello_person】的列表展示內容

3.添加搜索功能

3.1.第一步:在剛才的代碼基礎上添加一個search_fields屬性,設置搜索的條件按表字段name進行精確搜索和模糊搜索

3.2.第二步:重啟django項目【helloworld】的服務

3.3.第三步:重新成功登陸admin管理后台

3.4.第四步:查看數據表【hello_person】的列表是否多出一個搜索框並支持精確搜索和模糊搜索

 

 

1.前言

每張數據表的列表展示內容,默認只展示了數據表里的每條數據的標題信息。但如果我們要具體查看每條數據的每個表字段值就必須需要點擊標題信息進入下一級的數據詳情頁面才能查看,這不是很直觀。

 

 

在每個app應用里的【admin.py】里,我們可以自定義設置每張數據表的列表展示內容,也可以添加搜索框進行快速的精確和模糊搜索相關數據;

接下來,我們做以下完整的相關操作;

2.自定義設置一張指定的數據表的列表展示內容

細節:

①.我們拿數據表【hello_person】做實驗數據;

2.1.第一步:如果我們想讓數據表【hello_person】里面的表字段值全部展示出來,需在應用【hello】里的【admin.py】里添加list_display 屬性等代碼內容,相關代碼如下

from django.contrib import admin

# Register your models here.

from hello import models


# 類名可以隨意
class ControlPerson(admin.ModelAdmin):
    '''自定義hello_person表在admin管理后台的數據列表展示頁面里展示哪幾個表字段內容,需要重寫屬性list_display'''
    list_display = ('id',"name","age")   # 重寫屬性list_display,來設置展示的表字段
    



admin.site.register(models.Person,ControlPerson)

 

2.2.第二步:重啟django項目【helloworld】的服務

2.3.第三步:重新成功登陸admin管理后台

2.4.第四步:查看數據表【hello_person】的列表展示內容

細節:

①.父類【ModelAdmin】里的屬性【list_display】的默認值是【('__str__',)】,所以數據表的列表展示內容默認只展示了數據表里的每條數據的標題信息;

 

②. 屬性【list_display】的數據類型是list,可以包含任意個數的表字段名且表字段名的順序可以隨意;比如屬性【list_display】里現在只有一個值【id】;

 

③.表字段名稱有包含小寫字母的,在admin管理后台頁面對應的列表頁面里都會被轉為大寫字母展示;

 

3.添加搜索功能

當數據表【hello_person】數據過多,我們為了方便快速的找到想要的數據,可以添加一個搜索功能, 可以用屬性【search_fields】為該列表頁增加搜索欄:

3.1.第一步:在剛才的代碼基礎上添加一個search_fields屬性,設置搜索的條件按表字段name進行精確搜索和模糊搜索

from django.contrib import admin

# Register your models here.

from hello import models



class ControlPerson(admin.ModelAdmin):
    '''自定義hello_person表在admin管理后台的數據列表展示頁面里展示哪幾個表字段內容,需要重寫屬性list_display'''
    list_display = ('id',"name","age")   # 重寫屬性list_display,來設置展示的表字段
    search_fields = ("name",)    # 重寫屬性search_fields,把表字段name的值當做搜索條件



admin.site.register(models.Person,ControlPerson)

 

 

3.2.第二步:重啟django項目【helloworld】的服務

3.3.第三步:重新成功登陸admin管理后台

3.4.第四步:查看數據表【hello_person】的列表是否多出一個搜索框並支持精確搜索和模糊搜索

 

 細節:

①.屬性search_fields 值支持傳多個表字段名,表示支持按這多個表字段名的任意其中一個標字段名來進行精確搜索和模糊搜索;

     比如當屬性search_fields 值等於【 ("name","age")】,那么表示可以按照表字段名name或者表字段名age進行精確搜索和模糊搜索;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM