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)