• xadmin的安装和基本使用方法


    xadmin安装

    # >: pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2
    

    注册app:settings.py

    INSTALLED_APPS = [
        # ...
        # xamin主体模块
        'xadmin',
        # 渲染表格模块
        'crispy_forms',
        # 为模型通过版本控制,可以回滚数据
        'reversion',
    ]
    

    xadmin:需要自己的数据库模型类,完成数据库迁移

    python manage.py makemigrations
    python manage.py migrate
    

    设置主路由替换掉admin:主urls.py

    # xadmin的依赖
    import xadmin
    xadmin.autodiscover()
    # xversion模块自动注册需要版本控制的 Model
    from xadmin.plugins import xversion
    xversion.register_models()
    
    urlpatterns = [
        # ...
        path(r'xadmin/', xadmin.site.urls),
    ]
    

    创建超级用户:项目根路径

    # 在项目根目录下的终端
    python manage.py createsuperuser
    # 账号密码设置:admin | Admin123
    

    1.运行一下项目,访问

    http://127.0.0.1:8000/xadmin/

    xadmin的使用

    2.需要在app中创建adminx.py文件

    import xadmin
    from repository import models
    from xadmin import views
    
    class UserProfileAdmin(object):
    	### 显示的字段名称
        list_display = ['id','name' ,'email','phone','mobile']
    	
    	# 搜索时可输入的字段内容
        search_fields = ['id', 'name', 'email', 'phone']
        
        # 点击id可进入详细界面进行编辑(默认的)
        list_display_links = ('id',)  
        
        ## 可编辑的列名
        list_editable = ['name' ,'email','phone','mobile']
        # list_filter = ['name' ,'email','phone','mobile']
    	
    	# 每页显示多少条
    	list_per_page = 20 
    	
    	#根据id排序 
        ordering = ('id',) 
         
        #设置只读字段 
        readonly_fields = ('user_email',) 
        
        #显示本条数据的所有信息
        show_detail_fields = ['asset_name'] 
    
    xadmin.site.register(models.UserProfile,UserProfileAdmin)
    

    3.数据导出
    如果想要导出Excel数据,需要安装xlwt

    默认情况下,xadmin会提供ExcelCSV,XMLjson四种格式的数据导出,可以通过设置OptionClasslist_export属性来指定使用哪些导出格式(四种格式分别用xlscsvxmljson表示)或是将list_export设置为None来禁用数据导出功能

    list_export = ('xls', 'xml', 'json')
    # 定义可以导出的当前表的字段
    list_export_fields = ('id', 'name', 'title')
    

    4.设置全局的配置

    # 全局修改,固定写法
    class GlobalSettings(object):
        # 修改title
        site_title = 'xxx后台管理界面'
        # 修改footer
        site_footer = 'xxx的公司'
        # 折叠菜单
        menu_style = 'accordion'
    	
    	# 设置 models图标
        # https://v3.bootcss.com/components/
        # http://www.yeahzan.com/fa/facss.html
    	global_search_models = [models.Disk, models.Server]
        # 后台表名前再添加一个图标
        global_models_icon = {
            # Server: "glyphicon glyphicon-tree-conifer", Pool: "fa fa-cloud"
            models.Server: "fa fa-linux", models.Disk: "fa fa-cloud"
        }
    
    	
    # 将title和footer信息进行注册
    xadmin.site.register(views.CommAdminView,GlobalSettings)
    
    
    1. 图表显示
    data_charts = {
            "host_service_type_counts": {
                'title': '部门机器使用情况',
                'x-field': "business_unit",
                'y-field': ("business_unit"),
                'option': {
                    "series": {"bars": {"align": "center", "barWidth": 0.8, "show": True}},
                    "xaxis": {"aggregate": "count", "mode": "categories"}
                },
            },
            "host_idc_counts": {
                'title': '机房统计',
                'x-field': "idc",
                'y-field': ("idc",),
                'option': {
                    "series": {"bars": {"align": "center", "barWidth": 0.3, "show": True}},
                    "xaxis": {"aggregate": "count", "mode": "categories"}
                }
            }
        }
    
    1. 注册模型与对应的管理类
    xadmin.site.register(models.Disk, DiskAdmin)
    xadmin.site.register(models.Server, ServerAdmin)
    xadmin.site.register(models.IDC, IDCAdmin)
    xadmin.site.register(models.UserProfile, UserProfileAdmin)
    xadmin.site.register(models.UserGroup, UserGroupAdmin)
    
  • 相关阅读:
    阿里规范
    对 单元测试(UT)的理解
    阿里规范
    Zookeeper常见面试题(附答案)(建议收藏)
    【面试题】大数据从低级到高级的应用有哪些?
    【面试题】如何选择大数据组件?
    spark 中map 和 flatMap 的区别
    Spark-shell 报错:Failed to get database default, returning NoSuchObjectException
    Redis面试题
    Hadoop上小文件如何存储?
  • 原文地址:https://www.cnblogs.com/zhangchaocoming/p/13210595.html
Copyright © 2020-2023  润新知