xadmin后台 导入 excel 功能拓展

Posted shijieli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)  # 此返回值必须是这样

展示效果

技术图片

 

以上是关于xadmin后台 导入 excel 功能拓展的主要内容,如果未能解决你的问题,请参考以下文章

xadmin引入django-import-export导入功能

用python/django代码实现mysql数据导出excel

excel 文件的导入

利用xadmin快速搭建后台管理系统

Django 后台管理xadmin

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之EXCEL数据导入