django學習-27.admin管理后台里:對列表展示頁面的數據展示進行相關優化


目錄結構

1.前言

2.完整的操作步驟

2.1.第一步:查看ModelAdmin類和BaseModelAdmin類的源碼

2.2.第二步:查看表animal對應的列表展示頁面默認的數據展示

2.3.第三步:對表animal對應的列表展示頁面的數據展示進行相關優化

2.4.第四步:重啟服務

2.5.第五步:退出登錄並再次成功登陸admin管理后台

2.6.第六步:查看表animal對應的列表展示頁面最新的數據展示

3.調試過程中相關報錯信息的解決方案

 

 

1.前言

對admin管理后台里的列表展示頁面的數據展示進行相關優化的目的:更加方便我們對列表展示頁面里的數據進行操作!

 

問題:那么,我們如何對admin管理后台里的列表展示頁面的數據展示進行相關優化呢?

答案:我們對指定父類里的相關屬性值進行重寫,就能實現對admin管理后台里的列表展示頁面的數據展示進行優化;

 

具體實現可以看接下來完整的操作流程;

 

細節:

①.操作流程的全程都是拿表animal當測試數據;

 

2.完整的操作步驟

2.1.第一步:查看ModelAdmin類和BaseModelAdmin類的源碼

細節:

①.ModelAdmin類是BaseModelAdmin類的子類;

②.假如一個父類A里有一個屬性A1,類B是父類A的子類,類C是類B的子類,那么在類C里可以對屬性A1的值進行重寫;

 

class ModelAdmin(BaseModelAdmin):
    """Encapsulate all admin options and functionality for a given model."""

    list_display = ('__str__',)    # 顯示在列表展示頁面的表字段的集合;數據類型為元祖;
    list_display_links = ()         # 在列表展示頁面里的可被點擊且點擊后能跳轉到數據詳情頁的表字段的集合;數據類型為元祖;
    list_filter = ()                # 被過濾的表字段的集合;數據類型為元祖;
    list_select_related = False
    list_per_page = 100             # 在列表展示頁面里,每個分頁最多展示100條數據;數據類型為int;
    list_max_show_all = 200
    list_editable = ()              # 在列表展示頁面里,表字段值可以被編輯的表字段的集合;數據類型為元祖;
    search_fields = ()              # 在列表展示頁面里,表字段值可以被當做搜索條件的表字段的集合;數據類型為元祖;
    date_hierarchy = None           # 在列表展示頁面里,任意一個值是時間類型的表字段可以被當做時間分層的篩選條件,一般比如用表字段create_time;數據類型為字符串;
    save_as = False
    save_as_continue = True
    save_on_top = False
    paginator = Paginator
    preserve_filters = True
    inlines = []

class BaseModelAdmin(metaclass=forms.MediaDefiningClass):
    """Functionality common to both ModelAdmin and InlineAdmin."""

    autocomplete_fields = ()
    raw_id_fields = ()
    fields = None
    exclude = None
    fieldsets = None
    form = forms.ModelForm
    filter_vertical = ()
    filter_horizontal = ()
    radio_fields = {}
    prepopulated_fields = {}
    formfield_overrides = {}
    readonly_fields = ()
    ordering = None      # 在列表展示頁面里,任意一至多個表字段的表字段值可以被當做排序條件,一般比如用表字段create_time;數據類型為元祖;
                         # (如果【ordering = ("-create_time")】:表示數據按照創建時間倒序排序;如果【ordering = ("create_time")】:表示數據按照創建時間正序排序; )
    sortable_by = None
    view_on_site = True
    show_full_result_count = True
    checks_class = BaseModelAdminChecks

 

2.2.第二步:查看表animal對應的列表展示頁面默認的數據展示

2.3.第三步:對表animal對應的列表展示頁面的數據展示進行相關優化

class ControlAnimal(admin.ModelAdmin):
    list_display = ("id","name","age","create_time")
    list_display_links = ("id","name",)
    list_filter = ("name","create_time")
    list_per_page = 11
    list_editable = ("age",) # 注意:表字段id因為是主鍵且由於主鍵不允許被編輯,所以表字段id不能添加到 list_editable里面,否則會報錯;
    search_fields = ("name","age")
    date_hierarchy = "create_time"
    ordering = ("-create_time",)

admin.site.register(models.animal,ControlAnimal)

 

2.4.第四步:重啟服務

2.5.第五步:退出登錄並再次成功登陸admin管理后台

2.6.第六步:查看表animal對應的列表展示頁面最新的數據展示

 

3.調試過程中相關報錯信息的解決方案

①.解決方案:

根據報錯日志(報錯日志都是英文),復制報錯日志里核心的報錯文案進行如下處理:1.可以復制到百度進行查找對應答案,然后去改對應的錯誤代碼塊;2.或者可以按照報錯文案進行自我理解,然后去改對應的錯誤代碼塊;

②.實際案例如下:

 


免責聲明!

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



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