首页 > 解决方案 > dash Python中“suppress_callback_exceptions”的作用是什么?

问题描述

写这个有什么区别:

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

标签: pythonpython-3.xdashboardplotly-dashmultipage

解决方案


源代码

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

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

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

文档中的另一个示例

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


推荐阅读