利用session实现购物车功能
时间: 2023-09-25 14:09:21 浏览: 154
asp.net基于session实现购物车的方法
购物车功能可以通过使用session来实现。当用户添加商品到购物车时,将商品信息存储到session中。当用户查看购物车时,从session中获取商品信息并展示给用户。
下面是一个简单的购物车示例:
```python
from flask import Flask, session, request, render_template
app = Flask(__name__)
app.secret_key = 'secret_key'
@app.route('/add_to_cart', methods=['POST'])
def add_to_cart():
item_id = request.form['item_id']
item_name = request.form['item_name']
item_price = request.form['item_price']
if 'cart' not in session:
session['cart'] = {}
if item_id in session['cart']:
session['cart'][item_id]['quantity'] += 1
else:
session['cart'][item_id] = {
'name': item_name,
'price': item_price,
'quantity': 1
}
return 'Item added to cart'
@app.route('/cart')
def cart():
cart_items = []
cart_total = 0
for item_id, item_info in session.get('cart', {}).items():
item_total = float(item_info['price']) * item_info['quantity']
cart_total += item_total
cart_items.append({
'id': item_id,
'name': item_info['name'],
'price': item_info['price'],
'quantity': item_info['quantity'],
'total': item_total
})
return render_template('cart.html', cart_items=cart_items, cart_total=cart_total)
if __name__ == '__main__':
app.run()
```
在上面的代码中,当用户添加商品到购物车时,将商品信息存储到session的cart字典中。cart字典的键是商品的ID,值是包含商品名称、价格和数量的字典。
当用户查看购物车时,从session中获取cart字典中的商品信息,并计算购物车中商品的总价。最后,将购物车信息展示给用户。
阅读全文