请写一段基于session对象的代码实现购物车应用
时间: 2024-05-08 12:19:21 浏览: 82
当用户第一次访问网站时,可以创建一个session对象,并将其保存在浏览器中的cookie或URL参数中。当用户添加商品到购物车时,可以将商品的信息存储在session对象中,并在每个页面上显示当前的购物车内容。当用户结账时,可以从session对象中获取所有商品的信息,并进行相应的处理。
下面是一段基于session对象的示例代码:
```python
from flask import Flask, session, render_template, request
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret_key'
@app.route('/')
def index():
return render_template('index.html')
@app.route('/add_to_cart', methods=['POST'])
def add_to_cart():
product_id = request.form['product_id']
product_name = request.form['product_name']
product_price = request.form['product_price']
if 'cart' not in session:
session['cart'] = {}
if product_id not in session['cart']:
session['cart'][product_id] = {
'name': product_name,
'price': product_price,
'quantity': 1
}
else:
session['cart'][product_id]['quantity'] += 1
return 'OK'
@app.route('/cart')
def cart():
total_price = 0
for product in session['cart'].values():
total_price += float(product['price']) * float(product['quantity'])
return render_template('cart.html', cart=session['cart'], total_price=total_price)
if __name__ == '__main__':
app.run()
```
以上代码使用 Flask 框架实现了一个简单的购物车应用。用户可以从网页上添加商品到购物车中,并在购物车页面上查看所有商品的信息和总价。购物车数据通过session对象存储,并在不同的页面间共享。
阅读全文