我正在使用django-plotly-dash在一个django模板中插入一组dash应用,每个应用代表一个单独的图形。每个应用程序或图形都有自己的输入字段,用于选择数据和绘制给定的时间框架。
现在我想把日期选择输入字段移到一个单独的dash应用中,以便为模板中的所有应用选择数据,但我苦于找不到一个解决方案。
我查阅了以下文档 https:/django-plotly-dash.readthedocs.io。 的例子,以及在 https:/djangoplotlydash.com.
任何关于如何前进的提示都非常感激!
如果选择的是每个用户,那么一种方法是将选择存储在该用户的会话中,并在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