django 在xadmin中自定義內(nèi)容的變量及優(yōu)化匯總
1夸盟、list_display 指定xadmin中需要顯示哪些字段信息惋增,以列表顯示
list_display = ('first_name', 'last_name', 'email')
2补胚、search_fields 指定哪些字段信息可以被搜索
search_fields = ('first_name', 'last_name')
3壹哺、list_filter 添加哪些字段需要進行過濾顯示(添加過濾器)
list_filter = ('publication_date',) #添加過濾(這里是過濾日期)
4倾剿、date_hierarchy 添加日期過濾器鸳吸,該字段只能是日期類型
date_hierarchy = 'publication_date' #過濾(日期的另外一種過濾方式熏挎,可以添加后看一下)
5、ordering 顯示的列表以什么進行排序 晌砾,加‘-’表示降序
ordering = ('-publication_date',) #排序(這里以日期排序坎拐,加‘-’表示降序)
6、fields 排除一些不想被其他人編輯的fields养匈,不包含在內(nèi)的字段不能編輯
fields = ('title', 'authors', 'publisher')
7哼勇、filter_horizontal 從‘多選框’的形式改變?yōu)椤^濾器’的方式,水平排列過濾器呕乎,必須是一個 ManyToManyField類型积担,且不能用于 ForeignKey字段,默認地猬仁,管理工具使用下拉框
來展現(xiàn)外鍵
字段
8帝璧、filter_vertical #同上filter_horizontal先誉,垂直排列過濾器
filter_vertical = ('authors',)
9、raw_id_fields 將ForeignKey字段從‘下拉框’改變?yōu)椤谋究颉@示
raw_id_fields = ('publisher',)
10的烁、list_editable 列表顯示的時候褐耳,指定的字段可以直接頁面一鍵編輯
list_editable = ['csdevice']
11、model_icon 指該表菜單的icon樣式
model_icon = 'fa fa-user-secret'
12渴庆、readonly_fields 指定一些字段為只讀铃芦,不可修改
readonly_fields = ('cservice',)
13、exclude 在編輯和查看列表時指定不顯示的字段
exclude = ['cservice']
14襟雷、style_fields 指定xadmin插件的樣式
style_fields = {'csdevice': 'm2m_transfer','csservice': 'ueditor',}
15刃滓、refresh_times 后臺可選擇10秒刷新一次或者60秒刷新一次如下
refresh_times = [10, 60]
16、show_detail_fields 在指定的字段后添加一個顯示數(shù)據(jù)詳情的一個按鈕
show_detail_fields=['ttdsn']
17嗤军、relfield_style后臺自定義不是下拉選擇框注盈,而是搜索框(解決了為什么用戶不是下拉框的問題。叙赚。)
relfield_style = 'fk-ajax'
18老客、修改 xadmin 的主題 、title震叮、header胧砰、菜單樣式
from xadmin import views
class BaseSetting(object):
enable_themes = True #開啟主題選擇
use_bootswatch = True
class GlobalSettings(object):
site_title = "老眼售后管理系統(tǒng)" #設(shè)置左上角title名字
site_footer = "lybbn" #設(shè)置底部關(guān)于版權(quán)信息
#設(shè)置菜單縮放
menu_style = "accordion" #設(shè)置菜單樣式
xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)
19、頁面顯示中文和時區(qū)
在settings.py中配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
20苇瓣、設(shè)置xadmin的app標題尉间,在apps.py文件中,添加verbose_name = "客戶管理"
from django.apps import AppConfig
class CustomersConfig(AppConfig):
name = 'apps.customers'
verbose_name = "客戶管理"
注意需要在settings.py中添加的'customers.apps.CustomersConfig'击罪,(需要把apps 中已 mark directory as source root)
INSTALLED_APPS = [
'xadmin',
'crispy_forms',
'reversion',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'customers.apps.CustomersConfig',
]