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

相關字段展示處理

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)  # 此返回值必須是這樣

展示效果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM