新建 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
相关字段展示处理
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) # 此返回值必须是这样