xadmin的使用python
1 django內置了一個admin,有的人以爲醜,功能不夠強大,這羣人寫了一個叫xadmin的,用來替換admin 2 xadmin是django的一個app 3 如何使用 -區分1.x和2.x -1.x :pip3 install xadmin -2.x :pip3 install git+git://github.com/sshwsfc/xadmin.git@django2 pip3 install https://codeload.github.com/sshwsfc/xadmin/zip/django2 -django2.x+xadmin 2.x 環境搭建 -安裝 -在app中註冊 'xadmin', 'crispy_forms', 'reversion', -修改國際化 # 修改使用中文界面 LANGUAGE_CODE = 'zh-Hans' # 修改時區 TIME_ZONE = 'Asia/Shanghai'
USE_TZ = False
-數據遷移 python3 manage.py makemigrations python3 manage.py migrate -配置路由信息 import xadmin xadmin.autodiscover() # version模塊自動註冊須要版本控制的 Model from xadmin.plugins import xversion xversion.register_models() urlpatterns = [ path('xadmin/', xadmin.site.urls) ] -建立超級用戶 python manage.py createsuperuser -登陸,訪問地址,輸入用戶名密碼進入 http://127.0.0.1:8000/xadmin/ 4 美化 -admin.py中寫一個類 class BookClass(): # 該表展現的字段 list_display = ['id', 'name', 'price','publish'] # 按照這些字段搜索 search_fields = ['id','name'] # 按哪些字段過濾 list_filter = ['is_delete'] # 能夠把數據導出成excel,json,xml格式 list_export = ('xls', 'xml', 'json') # list_export設置爲None來禁用數據導出功能 list_export_fields = ('id', 'name', 'price') data_charts = { "order_amount": { 'title': '隨便寫', "x-field": "price", "y-field": ('publish',), "order": ('id',) }, } -註冊 xadmin.site.register(models.Book,BookClass)
amin.py代碼:git
import xadmin from xadmin import views from app01 import models class BaseSetting(): """xadmin的基本配置""" enable_themes = True # 開啓主題切換功能 use_bootswatch = True class GlobalSettings(): """xadmin的全局配置""" site_title = "路飛學城" # 設置站點標題 site_footer = "路飛學城有限公司" # 設置站點的頁腳 # menu_style = "accordion" # 設置菜單摺疊 xadmin.site.register(views.BaseAdminView, BaseSetting) xadmin.site.register(views.CommAdminView, GlobalSettings) class BookClass(): # 該表展現的字段 list_display = ['id', 'name', 'price','publish'] # 按照這些字段搜索 search_fields = ['id','name'] # 按哪些字段過濾 list_filter = ['is_delete'] # 能夠把數據導出成excel,json,xml格式 list_export = ('xls', 'xml', 'json') # list_export設置爲None來禁用數據導出功能 list_export_fields = ('id', 'name', 'price') data_charts = { "order_amount": { 'title': '隨便寫', "x-field": "price", "y-field": ('publish',), "order": ('id',) }, } #這個就是以前在admin裏註冊的,如今變成xadmin了 xadmin.site.register(models.Book,BookClass) xadmin.site.register(models.Publish) xadmin.site.register(models.AuthorDetail) xadmin.site.register(models.Author)