首页 > 解决方案 > 添加到 ADDON_MANAGERS 时,插件不会出现在菜单上

问题描述

参考:https ://github.com/aketmann-e24/superset_ticket_example代码/环境

努力熟悉如何扩展/更改超集,遇到了让新菜单实际显示在应用程序中的问题。该插件适用于股票 FAB,但是一旦我引入超集,端点就会被定义,但菜单不会被创建。


查看定义

class MyView(BaseView):
    default_view = "derpderp"
    template_folder = Path(__file__).absolute().parent / "templates"

    @expose("/derpderp")
    def derpderp(self):
        self.update_redirect()
        return self.render_template("derp.html")

插件管理器

class MyAddOnManager(BaseManager):
    def __init__(self, appbuilder):
        """
        Use the constructor to setup any config keys specific for your app.
        """
        super(MyAddOnManager, self).__init__(appbuilder)

    def register_views(self):
        """
        This method is called by AppBuilder when initializing, use it to add you views
        """
        self.appbuilder: "AppBuilder"
        self.appbuilder.add_view(
            MyView,
            "MyView",
            category="MyAddonCategory",
            category_label="MyAddonCategory",
            category_icon="air-freshener",
        )

    def pre_process(self):
        pass

    def post_process(self):
        pass

超集配置文件

SILENCE_FAB = False

ADDON_MANAGERS = ["fab_addon_derpyderpderp.manager.MyAddOnManager"]

在 github 上打开了一个问题,但我想我可能会在这里接触到不同的受众。 Github问题链接

标签: pythonapache-supersetflask-appbuilder

解决方案


推荐阅读