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)  # 此返回值必须是这样

    展示效果

  • 相关阅读:
    ASP.NET 概述
    用vs调试项目页面无样式
    eniac世界第二台计算机
    汇编语言
    操作系统发展史
    网站架构发展
    简单分布式系统构建知识
    Android常用adb命令
    USB 3.0规范中译本 第4章 超高速数据流模型
    ECMAScript 6 &ECMAScript 5(在线手册)
  • 原文地址:https://www.cnblogs.com/shijieli/p/10651714.html
Copyright © 2011-2022 走看看