0
我在寫瓶的購物車。如何使用表單更改Flask會話字典中的值?
我的基於會話和形成字典這樣的車:
[{'qty': 1, 'product_title': 'Post num six', 'product_id': 6},
{'qty': 1, 'product_title': 'Post five', 'product_id': 5},
{'qty': 1, 'product_title': 'Fouth post', 'product_id': 4}]
我需要在車改中/車路線數量價值爲每一個產品:
@app.route('/cart', methods=['GET', 'POST'])
def shopping_cart():
page_header = "Cart"
if request.method == 'POST' and 'update_cart' in request.form:
for cart_item in session["cart"]:
cart_item["qty"] += 1 # this is wrong
if cart_item["qty"] > 10:
flash(u'Maximum amount (10) products in cart is reached', 'info')
cart_item["qty"] = 10
flash(u'update_cart', 'warning')
return render_template('cart/cart.html', page_header=page_header)
這裏是我cart.html模板:
...
{% if session.cart %}
<form action="" method="post">
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>Name</th>
<th width="100">Qty</th>
</tr>
</thead>
<tbody>
{% for cart_item in session.cart %}
<tr>
<td><a href="/post/{{ cart_item.product_id }}">{{ cart_item.product_title }}</a></td>
<td>
<div class="form-group">
<input class="form-control" type="number" name="change_qty" min="1" max="10" value="{{ cart_item.qty }}">
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="clearfix">
<button type="submit" name="update_cart" class="btn btn-info pull-right">Update Cart</button>
</div>
</form>
{% else %}
<h2 style="color: red;">There is no cart session =(</h2>
{% endif %}
在cart.html覆蓋週期的所有實例,並增加了change_qty輸入以改變在車中的每個產品的數量。
現在的問題是:如何改變購物車中每件商品的數量?