用Python设计一个营销商品信息展示平台
时间: 2024-03-23 17:36:31 浏览: 16
好的,下面是一个简单的用Python实现的营销商品信息展示平台的代码示例:
```python
# 导入必要的库
from flask import Flask, render_template, request, redirect, url_for
import sqlite3
# 创建Flask应用
app = Flask(__name__)
# 配置数据库
app.config['DATABASE'] = 'marketplace.db'
# 建立数据库连接
def get_db():
db = getattr(app, '_database', None)
if db is None:
db = sqlite3.connect(app.config['DATABASE'])
app._database = db
return db
# 关闭数据库连接
@app.teardown_appcontext
def close_connection(exception):
db = getattr(app, '_database', None)
if db is not None:
db.close()
# 商品列表页
@app.route('/')
def index():
db = get_db()
cursor = db.execute('SELECT * FROM products')
products = cursor.fetchall()
return render_template('index.html', products=products)
# 商品详情页
@app.route('/product/<int:id>')
def product_detail(id):
db = get_db()
cursor = db.execute('SELECT * FROM products WHERE id = ?', (id,))
product = cursor.fetchone()
return render_template('product_detail.html', product=product)
# 购物车页
@app.route('/cart')
def cart():
cart = request.cookies.get('cart')
if cart:
cart_ids = cart.split(',')
db = get_db()
cursor = db.execute('SELECT * FROM products WHERE id IN ({0})'
.format(','.join(['?']*len(cart_ids))), cart_ids)
products = cursor.fetchall()
else:
products = []
return render_template('cart.html', products=products)
# 添加商品到购物车
@app.route('/add_to_cart/<int:id>')
def add_to_cart(id):
cart = request.cookies.get('cart')
if cart:
cart_ids = cart.split(',')
if str(id) not in cart_ids:
cart_ids.append(str(id))
response = redirect(url_for('cart'))
response.set_cookie('cart', ','.join(cart_ids))
else:
response = redirect(request.referrer)
else:
response = redirect(url_for('cart'))
response.set_cookie('cart', str(id))
return response
# 从购物车中删除商品
@app.route('/remove_from_cart/<int:id>')
def remove_from_cart(id):
cart = request.cookies.get('cart')
if cart:
cart_ids = cart.split(',')
if str(id) in cart_ids:
cart_ids.remove(str(id))
response = redirect(url_for('cart'))
if cart_ids:
response.set_cookie('cart', ','.join(cart_ids))
else:
response.delete_cookie('cart')
else:
response = redirect(request.referrer)
else:
response = redirect(url_for('cart'))
return response
# 下单
@app.route('/checkout')
def checkout():
cart = request.cookies.get('cart')
if cart:
cart_ids = cart.split(',')
db = get_db()
cursor = db.execute('SELECT * FROM products WHERE id IN ({0})'
.format(','.join(['?']*len(cart_ids))), cart_ids)
products = cursor.fetchall()
total_price = sum([product[2] for product in products])
response = render_template('checkout.html', products=products, total_price=total_price)
response.delete_cookie('cart')
else:
response = redirect(url_for('cart'))
return response
# 运行Flask应用
if __name__ == '__main__':
app.run(debug=True)
```
以上代码使用了Flask框架,实现了商品列表页、商品详情页、购物车页、下单等功能。可以根据实际情况进行修改和扩展。需要注意的是,这只是一个简单的示例,实际上要实现一个完整的网上营销商品信息展示平台,还需要考虑很多方面,例如安全性、性能、用户体验等。