通过 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
查看了以下 post 对如何存储 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