python測試開發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交流QQ群:779429633


免責聲明!

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



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