zoukankan      html  css  js  c++  java
  • drf—— xadmin的使用

    xadmin的使用

    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代码:

    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)
  • 相关阅读:
    非常强大的table根据表头排序,点击表头名称,对其内容排序
    处理字符集中的算式问题
    java基础复习:final,static,以及String类
    try,catch,finally含return时的执行顺序及丢失的伪例
    系统 触发器
    某个表按某个列分组且按另一个列排序
    XML读取
    硬软件交互原理
    TcpClient 读写流
    C# Socket的TCP通讯 异步 (2015-11-07 10:07:19)转载▼
  • 原文地址:https://www.cnblogs.com/guojieying/p/13969308.html
Copyright © 2011-2022 走看看