xadmin是Django的第三方擴展,可是使Django的admin站點使用更方便。
1. 安裝
通過如下命令安裝xadmin的最新版
pip install https://github.com/sshwsfc/xadmin/tarball/master
在配置文件中注冊如下應用
INSTALLED_APPS = [ ... 'xadmin', 'crispy_forms', 'reversion', ... ]
xadmin有建立自己的數據庫模型類,需要進行數據庫遷移
python manage.py makemigrations # 此句可以不用執行, xadmin已自動生成migrations文件 python manage.py migrate
在總路由中添加xadmin的路由信息
import xadmin urlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'xadmin/', include(xadmin.site.urls)), ... ]
2. 使用
- xadmin不再使用Django的admin.py,而是需要編寫代碼在adminx.py文件中。
- xadmin的站點管理類不用繼承
admin.ModelAdmin
,而是直接繼承object
即可。
站點的全局配置
import xadmin from xadmin import views from . import models class BaseSetting(object): """xadmin的基本配置""" enable_themes = True # 開啟主題切換功能 use_bootswatch = True xadmin.site.register(views.BaseAdminView, BaseSetting) class GlobalSettings(object): """xadmin的全局配置""" site_title = "xxxxxxxx" # 設置站點標題 site_footer = "xxxxxxx" # 設置站點的頁腳 menu_style = "accordion" # 設置菜單折疊 xadmin.site.register(views.CommAdminView, GlobalSettings)
站點Model管理
xadmin可以使用的頁面樣式控制基本與Django原生的admin一直。
- list_display 控制列表展示的字段
- search_fields 控制可以通過搜索框搜索的字段名稱,xadmin使用的是模糊查詢
- list_filter 可以進行過濾操作的列
- ordering 默認排序的字段
- readonly_fields 在編輯頁面的只讀字段
- exclude 在編輯頁面隱藏的字段
- list_editable 在列表頁可以快速直接編輯的字段
- show_detail_fileds 在列表頁提供快速顯示詳情信息
- refresh_times 指定列表頁的定時刷新
- list_export 控制列表頁導出數據的可選格式
- show_bookmarks 控制是否顯示書簽功能
- data_charts 控制顯示圖標的樣式
- model_icon 控制菜單的圖標