通过 Plotly 在 Dash 中通过回调函数保存 cookie

Save a cookie from callback function in Dash by Plotly

查看了以下 post 对如何存储 cookie 的解释: 我正在尝试复制这个,但我无法 store/retrieve cookies.What 在下面的简单示例中是错误的?没有错误消息,但是在调试时,all_cookies dict 是空的,而我希望它至少有一个成员 'dash cookie'.

@app.callback(
    Output(ThemeSwitchAIO.ids.switch("theme"), "value"),
    Input("url-login", "pathname"),
)
def save_load_cookie(value):
    dash.callback_context.response.set_cookie('dash cookie', '1 - cookie')
    all_cookies = dict(flask.request.cookies)
    return dash.no_update

请注意,该应用通过标准 Flask 服务器 运行 在我的本地机器上:

app.run_server(host='127.0.0.1', port=80, debug=True,
               use_debugger=False, use_reloader=False, passthrough_errors=True)

谢谢@coralvanda,回调需要return一个值而不是dash.no_update。代码应该只是:

@app.callback(
    Output(ThemeSwitchAIO.ids.switch("theme"), "value"),
    Input("url-login", "pathname"),
)
def save_load_cookie(value):
    dash.callback_context.response.set_cookie('dash cookie', '1 - cookie')
    all_cookies = dict(flask.request.cookies)
    return value