在 xadmin 的 plugins 下添加一個 excel.pyhtml
# _*_ 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/plugins/__init__.pynode
courses\adminx.py 文件操做django
經過此字段進行處理app
設置爲 True 表示能夠添加 導入字段函數
import_excel = True
導入邏輯處理 在相關的 class 中重寫 post 方法post
def post(self, request, *args, **kwargs): # 導入邏輯 if 'excel' in request.FILES: pass # 此處是一系列的操做接口, 經過 request.FILES 拿到數據隨意操做 return super(CourseAdmin, self).post(request, args, kwargs) # 此返回值必須是這樣