xadmin自定义插件2

Posted fiona-zhong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xadmin自定义插件2相关的知识,希望对你有一定的参考价值。

以导入插件为例说明:

  1、在xadmin-->plugins下面新建excel.py文件

  2、新建ListExcelImportPlugin类,继承BaseAdminPlugin

    from xadmin.views import BaseAdminPlugin, ListAdminView

    from django.template import loader

    import xadmin

    class ListExcelImportPlugin(BaseAdminPlugin):

      # 重写init_request

      import_excel = False

      def init_request(self, request, *args, **kwargs):

        return bool(self.import_excel)

    

      def block_top_toolbar(self, context, nodes):

        # 这里 xadmin/excel/model_list.top_toolbar.import.html 是自己写的html文件

        nodes.append(loader.render_to_string("xadmin/excel/model_list.top_toolbar.import.html"))

    xadmin.site.register_plugin(ListExcelImportPlugin, ListAdminView)

  3、在需要有导入插件的ModelAdmin中加入 import_excel = True

    并重写post函数

    def post(self, request, *args, **kwargs):

      if "excel" in request.FILES:

        #此处自定义逻辑,如读取文件保存数据库等

        pass

      return super(ModelAdmin, self).post(request, args, kwargs)

以上是关于xadmin自定义插件2的主要内容,如果未能解决你的问题,请参考以下文章

django-xadmin自定义widget插件(自定义详情页字段的显示样式)

xadmin----内置插件

自定义xadmin后台首页

xadmin 添加自定义权限

xadmin 自定义模板

xadmin进行全局配置(修改模块名为中文以及其他自定义的操作步骤)