Я следую руководству на веб-сайте Da sh, чтобы обновлять страницу в режиме реального времени всякий раз, когда она обновляется:
import datetime
import dash
import dash_html_components as html
def serve_layout():
return html.Div([
dcc.Interval(id="time_trigger", interval=1000),
html.H1('The time is: ' + str(datetime.datetime.now()), id="header")])
app.layout = serve_layout
if __name__ == '__main__':
app.run_server(debug=True)
Однако это работает с обратными вызовами. Если я сделаю следующее, LayoutIsNotDefined будет вызван:
@app.callback(
Output("header", "children"),
[Input("time_trigger", "n_intervals")]
)
def connect_to_date_sync_service(n_interval):
return "Interval is triggered {} times".format(n_interval)
Это ошибка, которую вызывает Da sh:
dash.exceptions.LayoutIsNotDefined:
Attempting to assign a callback to the application but
the `layout` property has not been assigned.
Assign the `layout` property before assigning callbacks.
Alternatively, suppress this warning by setting
`suppress_callback_exceptions=True`