Airlfow serving static html directory

…衆ロ難τιáo~ 提交于 2020-07-19 21:15:38

问题


I have static html documentation built using sphinx in:

$AIRFLOW_HOME/plugins/docs/

I want to create a new menu link "My Documentation" in the Airflow UI so this works:

class DocsView(BaseView):
    @expose("/")
    def my_docs(self):
        return send_from_directory(os.path.abspath("plugins/docs/build/html"), 'index.html')

docs_view = DocsView(
    category="My Documentation",
    name="Plugins",
    endpoint="my_docs"
)

And in my custom plugin class:

class MyPlugin(AirflowPlugin):
    admin_views = [docs_view]

The link is successfully showing in the menu bar and works but only for index.html. I don't use templates and just need section where the documentation for all the custom code could be read.


回答1:


I found a solution. I have to add the static url and folder path in DocsView as sphinx creates additional directories in build/html:

docs_view = DocsView(
    static_folder=os.path.abspath("plugins/docs/build/html"),
    static_url_path="/",
    category="My Documentation",
    name="Plugins",
    endpoint="my_docs"
)


来源:https://stackoverflow.com/questions/56461918/airlfow-serving-static-html-directory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!