
flask session 购物车数量更新失灵
你的问题是关于在 flask 应用程序中使用 session 来实现购物车的功能。具体来说,你发现添加商品后,购物车中商品的数量无法正确更新。
源代码中,你已经使用了 session 来存储购物车的商品信息。更新商品数量时,你正确地修改了 session['cart'] 中商品数量,但是忽略了一个重要步骤。
flask 的 session 机制默认情况下不会自动更新可变对象。对于字典等可变对象,在修改它们后,必须手动设置 session.modified = true 以通知 flask 更新 session。
网趣购物系统静态版支持网站一键静态生成,采用动态进度条模式生成静态,生成过程更加清晰明确,商品管理上增加淘宝数据包导入功能,与淘宝数据同步更新!采用领先的AJAX+XML相融技术,速度更快更高效!系统进行了大量的实用性更新,如优化核心算法、增加商品图片批量上传、谷歌地图浏览插入等,静态版独特的生成算法技术使静态生成过程可随意掌控,从而可以大大减轻服务器的负担,结合多种强大的SEO优化方式于一体,使
因此,你的代码应该如下修改:
@app.route('/add-to-cart', methods=('GET', 'POST'))
def add_to_cart():
product_id = request.form.get('product_id')
product_quantity = int(request.form.get('product_quantity'))
if 'cart' not in session:
session['cart'] = {}
if product_id not in session['cart']:
session['cart'][product_id]={'pdoct_id':product_id, 'product_quantity': product_quantity}
else:
session['cart'][product_id]['product_quantity'] += product_quantity
session.modified = True # 确保更新 session
return 'add-to-cart'通过添加这一行,你确保了 flask 会在每次更改购物车数量后更新 session。这样,再次访问购物车时,你将得到最新的商品数量。









