django-19.admin後臺自定義顯示
阿新 • • 發佈:2019-02-10
列表顯示 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後臺自定義顯示