将django-ploly-dash应用的输入传递给同一django模板的其他应用。

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

我正在使用django-plotly-dash在一个django模板中插入一组dash应用,每个应用代表一个单独的图形。每个应用程序或图形都有自己的输入字段,用于选择数据和绘制给定的时间框架。

现在我想把日期选择输入字段移到一个单独的dash应用中,以便为模板中的所有应用选择数据,但我苦于找不到一个解决方案。

我查阅了以下文档 https:/django-plotly-dash.readthedocs.io。 的例子,以及在 https:/djangoplotlydash.com.

任何关于如何前进的提示都非常感激!

django plotly-dash hyphen
1个回答
1
投票

如果选择的是每个用户,那么一种方法是将选择存储在该用户的会话中,并在dash应用之间共享。这是其背后的原理。实例 文档中。

基本的想法是使用 extended_callbacks - 这将为你的回调提供额外的参数,包括当前用户的会话。然后,你可以使用类似这样的代码

@dash_app.expanded_callback(
dash.dependencies.Output("alert", 'children'),
[dash.dependencies.Input('button', 'n_clicks'),]
)
def session_callback(n_clicks, session_state=None, **kwargs):
    if session_state is None:
        raise NotImplementedError("Cannot handle a missing session state")
    csf = session_state.get('demo_state', None)
    if not csf:
         csf = dict(clicks=0)
         session_state['demo_state'] = csf
    else:
        csf['clicks'] = n_clicks
    return "Button has been clicked %s times since the page was rendered" %n_clicks
© www.soinside.com 2019 - 2024. All rights reserved.