Javascript 按flask app.route动态分配dash.layout功能

Javascript 按flask app.route动态分配dash.layout功能,javascript,python,flask,plotly-dash,Javascript,Python,Flask,Plotly Dash,我正在尝试在flask应用程序实例中动态更改dash_app.layout的函数分配 烧瓶应用程序通过工厂方法构建,最重要的是由以下部分组成: app=Add_破折号(app)-->此处,破折号app使用pre-fix/Dash app初始化 app.register\u blueprint(routes.main\u bp)-->添加路线的位置 在Add_Dash类中,为Dash_app.layout分配了一个函数,该函数返回/指示在运行时呈现html/DOM图(分配在初始化/服务器启动时完成

我正在尝试在flask应用程序实例中动态更改dash_app.layout的函数分配

烧瓶应用程序通过工厂方法构建,最重要的是由以下部分组成:

  • app=Add_破折号(app)
    -->此处,破折号app使用pre-fix/Dash app初始化
  • app.register\u blueprint
    (routes.main\u bp)-->添加路线的位置
  • 在Add_Dash类中,为Dash_app.layout分配了一个函数,该函数返回/指示在运行时呈现html/DOM图(分配在初始化/服务器启动时完成)

    dash应用程序正在执行此函数(chStatistics),并在每次用户调用dash应用程序时重新呈现DOM

    在“index.html”(由flask模板呈现)中,我构建了一个导航,用于控制呈现虚线图的JS调用(
    $.renderer=new DashRenderer();
    )。这将执行分配给
    dash_app.layout
    的功能。 到目前为止,这一切都很好

    现在,我想在
    routes.py
    模块中重新分配
    dash\u app.layout=newFunction
    。最后的设置将如下所示:

  • 用户单击导航按钮
  • 异步JS XHR请求被发送到flask服务器,并在routes.py模块中获取
  • 在routes.py模块中,分配了
    dash\u app.layout=newFunction
    (从
    dash\u app.layout=chStatistics
  • 在JS XHR调用的回调中,执行
    $.renderer=new DashRenderer();
    ,呈现dash应用程序*
  • Dash应用程序现在使用新函数检索图形
  • 我在想,我可以创建一个路由器功能,最初在dash应用程序启动时分配,然后根据router.py模块设置的会话变量执行chFunction或newFunction。但是,我不确定这是否是最理想的方式

    *)为了完整起见,我应该提到这是简化的。实际上,还有其他正在进行的DOM操作(例如,del of#react入口点),以便dash再次渲染

    dash_app.layout = chStatistics