由于篇幅限制,我将提供一个简化版的示例,展示如何使用Flask和MySQL创建一个简单的动态购物网站。
首先,安装所需的库:
pip install Flask Flask-MySQLdb Flask-Script
以下是一个简单的Flask应用程序框架:
from flask import Flask, render_template, request, redirect, url_for, session
from flaskext.mysql import MySQL
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'password'
app.config['MYSQL_DATABASE_DB'] = 'database'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql = MySQL(app)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/add_to_cart')
def add_to_cart():
# 假设我们已经从请求中获取了商品ID和数量
product_id = request.args.get('product_id', type=int)
quantity = request.args.get('quantity', type=int)
# 添加到购物车的逻辑...
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)
在templates/index.html
文件中,你可以使用HTML和jQuery来创建一个购物网站的前端界面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Simple Shopping Website</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<body>
<h1>Simple Shopping Website</h1>
<button id="add_to_cart_btn">Add to Cart</button>
<script>
$(document).ready(function(){
$('#add_to_cart_btn').click(function(){
// 调用后端的/add_to_cart路由,并传递商品ID和数量
$.get('/add_to_cart', { product_id: 123, quantity: 1 }, function(data){
console.log('Product added to cart');
});
});
});
</script>
</body>
</html>
请注意,这个示例非常简化,并且不包括与数据库交互的代码。在实际应用中,你需要编写额外的路由和函数来处理数据库的连接和操作,例如查询商品信息、添加到购物车、结算等功能。同时,你还需要确保网站的安全性,例如通过使用CSRF令牌来防止跨站请求伪造攻击。