dash Python中“suppress_callback_exceptions”的作用是啥?

Posted

技术标签:

【中文标题】dash Python中“suppress_callback_exceptions”的作用是啥?【英文标题】:What's the role of "suppress_callback_exceptions" in dash Python?dash Python中“suppress_callback_exceptions”的作用是什么? 【发布时间】:2021-08-05 08:50:30 【问题描述】:

写这个有什么区别:

app = dash.Dash(__name__, suppress_callback_exceptions=True,
                meta_tags=['name': 'viewport',
                            'content': 'width=device-width, initial-scale=1.0']
                )
server = app.server

还有这个:

app = dash.Dash(__name__, suppress_callback_exceptions=False,
                meta_tags=['name': 'viewport',
                            'content': 'width=device-width, initial-scale=1.0']
                )
server = app.server

【问题讨论】:

【参考方案1】:

来自source code:

suppress_callback_exceptions:检查回调以确保引用的 ID 存在并且道具有效。如果您的布局是动态的,请设置为 True,以绕过这些检查。

因此,您自己链接的示例并没有真正的区别。或者更确切地说,如果 app 具有引用不存在的 id 和/或无效道具的回调,或者如果 app.layout 中的元素具有无效道具,您只会遇到不同的行为。

suppress_callback_exceptions 设置为True 的原因可能是因为您有通过id 引用元素的回调,但这些元素在应用程序的生命周期中并不总是存在于布局中。例如,这些元素可能会通过不同的回调动态插入到app.layout

来自documentation的另一个例子

...由于这里指定了suppress_callback_exceptions=True,Dash 必须假设应用程序初始化时输入存在于应用程序布局中...

【讨论】:

以上是关于dash Python中“suppress_callback_exceptions”的作用是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在 Dash (python) 中,我遇到了滑块和 radioitem 回调的问题

如何在 python(dash)仪表板中显示 png 文件和 csv 表

从 dash python 中的 url 获取参数:此 ID 分配给布局中的 dash_core_components.Location 组件,不支持属性

dash Python中“suppress_callback_exceptions”的作用是啥?

如何将布局更新到 Python Dash 应用程序中

Plotly Dash:在 Python 中绘制 networkx