为何 flask 会话中的购物车数量无法更新?
你使用 flask 会话来实现购物车功能时遇到了问题,原因是购物车中的数量没有按预期更新。以下是你源代码涉及的部分:
@app.route('/add-to-cart', methods=('get', 'post')) def add_to_cart(): # 省略其他代码 if 'cart' not in session: # 初始化购物车 session['cart'] = {} # 省略其他代码 return 'add-to-cart'
原因在于你修改了购物车字典,但没有通知 flask 会话系统。对于可变对象,如字典,必须在修改后调用 session.modified = true 以通知 flask 更新会话。
修改后的代码应如下所示:
@app.route('/add-to-cart', methods=('GET', 'POST')) def add_to_cart(): # 省略其他代码 if 'cart' not in session: # 初始化购物车 session['cart'] = {} # 省略其他代码 session.modified = True return 'add-to-cart'
以上就是Flask购物车数量无法更新:session.modified = True 的作用是什么?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com