zoukankan      html  css  js  c++  java
  • xadmin后台 导入 excel 功能拓展

    新建 excel 文件

     在 xadmin 的 plugins 下添加一个 excel.py

    # _*_ coding:utf-8 _*_
    __author__ = "yangtuo"
    __date__ = "2019/4/3 21:12"
    
    import xadmin
    from xadmin.views import BaseAdminPlugin, ListAdminView
    from django.template import loader
    
    
    # excel 导入
    class ListImportExcelPlugin(BaseAdminPlugin):
        import_excel = False
    
        # 入口函数, 通过此属性来指定此字段是否加载此字段
        def init_request(self, *args, **kwargs):
            return bool(self.import_excel)
    
        # 如果加载, 则执行此函数添加一个 导入 字段
        def block_top_toolbar(self, context, nodes):
            nodes.append(
                loader.render_to_string('xadmin/excel/model_list.top_toolbar.import.html', context_instance=context))
    
    
    xadmin.site.register_plugin(ListImportExcelPlugin, ListAdminView)

    在 xadmin 中注册

     让后注册在 xadmin/plugins/__init__.py

    相关字段展示处理

    coursesadminx.py 文件操作

    通过此字段进行处理

    设置为 True 表示可以添加 导入字段

    import_excel = True

    导入逻辑

    导入逻辑处理 在相关的 class 中重写 post 方法

        def post(self, request, *args, **kwargs):
            #  导入逻辑
            if 'excel' in request.FILES:
                pass  # 此处是一系列的操作接口, 通过  request.FILES 拿到数据随意操作
            return super(CourseAdmin, self).post(request, args, kwargs)  # 此返回值必须是这样

    展示效果

  • 相关阅读:
    Redis单机操作
    Scala
    RDD算子
    Python学习之旅(七)
    python学习之旅(六)
    python学习之旅(五)
    python学习之旅(四)
    python学习之旅(二)
    python学习之旅(三)
    Python学习之旅(一)
  • 原文地址:https://www.cnblogs.com/shijieli/p/10651714.html
Copyright © 2011-2022 走看看