xadmin後臺 導入 excel 功能拓展

新建 excel 文件

 在 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 中註冊

 讓後註冊在 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)  # 此返回值必須是這樣

展現效果

相關文章
相關標籤/搜索