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)
原文地址:https://www.cnblogs.com/guojieying/p/13969308.html