一 Xadmin的使用
xadmin是Django的第三方擴展,可是使Django的admin站點使用更方便。
文檔:https://xadmin.readthedocs.io/en/latest/index.html
1.1 安裝
通過如下命令安裝xadmin的最新版
|
|
在配置文件中注冊如下應用
|
|
xadmin有建立自己的數據庫模型類,需要進行數據庫遷移
|
|
在總路由中添加xadmin的路由信息
|
|
創建超級用戶
|
|
1.2 使用
- xadmin不再使用Django的admin.py,而是需要編寫代碼在adminx.py文件中。
- xadmin的站點管理類不用繼承
admin.ModelAdmin,而是直接繼承object即可。
例如:在子應用中創建adminx.py文件。
1.2.1 站點的全局配置
|
|
1.2.2 站點Model管理
xadmin可以使用的頁面樣式控制基本與Django原生的admin一直。
-
list_display 控制列表展示的字段
1list_display = ['id', 'btitle', 'bread', 'bcomment'] -
search_fields 控制可以通過搜索框搜索的字段名稱,xadmin使用的是模糊查詢
1search_fields = ['id','btitle'] -
list_filter 可以進行過濾操作的列,對於分類、性別、狀態
1list_filter = ['is_delete'] -
ordering 默認排序的字段
-
readonly_fields 在編輯頁面的只讀字段
-
exclude 在編輯頁面隱藏的字段
-
list_editable 在列表頁可以快速直接編輯的字段
-
show_detail_fields 在列表頁提供快速顯示詳情信息
-
refresh_times 指定列表頁的定時刷新
1refresh_times = [5, 10,30,60] # 設置允許后端管理人員按多長時間(秒)刷新頁面 -
list_export 控制列表頁導出數據的可選格式
1
2list_export = ('xls', 'xml', 'json') list_export設置為None來禁用數據導出功能
list_export_fields = ('id', 'btitle', 'bpub_date') -
show_bookmarks 控制是否顯示書簽功能
1show_bookmarks = True -
data_charts 控制顯示圖表的樣式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15data_charts = {
"order_amount": {
'title': '圖書發布日期表',
"x-field": "bpub_date",
"y-field": ('btitle',),
"order": ('id',)
},
# 支持生成多個不同的圖表
# "order_amount": {
# 'title': '圖書發布日期表',
# "x-field": "bpub_date",
# "y-field": ('btitle',),
# "order": ('id',)
# },
}- title 控制圖標名稱
- x-field 控制x軸字段
- y-field 控制y軸字段,可以是多個值
- order 控制默認排序
-
model_icon 控制菜單的圖標
1
2
3
4classBookInfoAdmin(object):
model_icon = 'fa fa-gift'
xadmin.site.register(models.BookInfo, BookInfodmin)
