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

xadmin后台 导入 excel 功能拓展

相关字段展示处理

courses\adminx.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 功能拓展

上一篇:kali linux 安装 Mysql Can't read from messagefile 报错解决方案


下一篇:【mysql】 load local data infield 报错 ERROR 1148 (42000): The used command is not allowed with this MySQL version