我将回调函数放在带有输入和交互式图形的多页Dash应用程序中的什么位置?

问题描述 投票:0回答:1

你好美丽的社区,

我正在使用多页Dash应用程序,该应用程序将从用户那里获取输入并相应地更新dcc.Graph()。我不知道将回调函数放在哪里。

  • 在一个文件('app_1.py')中,我有第一个应用程序的布局。
  • 在第二个文件('app_2.py')中,我具有第二个应用程序的布局。
  • 在第三个文件('home.py')中,我有了主页的布局。
  • 在第四个文件('index.py')中,我将两个页面都链接到主页:
    app.layout = html.Div([
           dcc.Location(id='url', refresh=False),
                 html.Div(id='page-content')
            ])
    @app.callback(Output('page-content', 'children'),
          [Input('url', 'pathname')])
    def display_page(pathname):
         if pathname == '/':
                 return home.layout
            elif pathname == '/simulation1':
                 return app_1.layout
            elif pathname == '/simulation2':
                 return app_2.layout
            else:
                return '404'

[制作单页应用程序时,通常将回调函数放在布局之后,但是在这里,由于我的“ index.py”仅调用布局,因此它不会检索放置在其后的回调。

我想知道是否有人知道我需要在哪里放置回调函数?

谢谢你。

python callback plotly-dash
1个回答
0
投票

对于将来可能需要它的人,我找到了解决方案。将回调函数放在“索引”文件的末尾。之前:

if __name__ == '__main__':
    app.run_server(debug=True)
© www.soinside.com 2019 - 2024. All rights reserved.