如Flask API文档所述,我需要添加
session.modified = True
在我的代码之后,以便将会话更改传播到诸如dict / list之类的可变结构。
据我了解,会话对象不会看到任何更改,也不会将修改后的会话数据添加到cookie。
来自文档的Example#1:
session['objects'].append(42)
# so mark it as modified yourself
session.modified = True
来自Google的Example#2:
# Add a logout handler.
@app.route('/logout')
def logout():
# Delete the user's profile and the credentials stored by oauth2.
del session['profile']
session.modified = True
oauth2.storage.delete()
return redirect(request.referrer or '/')
但是我尝试了Flask 1.0.2和Flask 0.10.1。请求之间在没有session.modified = True
的情况下,所有也都有效。我看到了变化,cookies已更新。
那条线现在多余吗?