gpt4 book ai didi

python-3.x - 有没有办法在flask-socketio事件中修改flask session ?

转载 作者:行者123 更新时间:2023-12-03 17:21:48 31 4
gpt4 key购买 nike

我尝试了以下方法:

@socketio.on("signup req")
def signup_req(json):
print(f"Response! {json}")
socketio.emit("signup res", "RECEIVED!")
session["user"] = {"name": json["name"]}

但是当我想通过以下方式访问它时:

@app.route('/')
def index():
...
print(session["user"])
...

我会得到一个 KeyError,这意味着 key 没有存储在 session 中。

最佳答案

不久前我写了一篇关于这个主题的博客文章和视频,因为它很棘手。这是帖子:https://blog.miguelgrinberg.com/post/flask-socketio-and-the-user-session .

简而言之,无法从 Socket.IO 处理程序修改基于 cookie 的 session ,因为无法通过 WebSocket 设置 cookie。如果您切换到 Flask-Session 等服务器端 session 扩展,则您在 Socket.IO 处理程序中所做的更改不需要在客户端中设置 cookie,因此在这种情况下,更改将被保存并可从 HTTP 访问路线。

关于python-3.x - 有没有办法在flask-socketio事件中修改flask session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55793579/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com