- 后端(Python, Flask)szchuantian.com
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据(实际中应从数据库获取)
products = [
{“id”: 1, “name”: “商品1”, “price”: 100},
{“id”: 2, “name”: “商品2”, “price”: 200},
]
@app.route(‘/products’, methods=[‘GET’])
def get_products():
return jsonify(products)
@app.route(‘/products/int:product_id’, methods=[‘GET’])
def get_product(product_id):
for product in products:
if product[‘id’] == product_id:
return jsonify(product)
return jsonify({‘error’: ‘Product not found’}), 404
… 其他路由和逻辑 …
if name == ‘main’:
app.run(debug=True)
2. 前端(JavaScript, React)
这里只展示一个简化的 React 组件,用于展示商品列表。
jsx
import React, { useState, useEffect } from ‘react’;
const ProductList = () => {
const [products, setProducts] = useState([]);
useEffect(() => {
fetch(‘/products’)
.then(response => response.json())
.then(data => setProducts(data));
}, []);
return (
{products.map(product => (
{product.name} - {product.price}
))}
);
};
export default ProductList;
3. 数据库(SQL)
假设你使用的是 MySQL 数据库,以下是创建商品表的 SQL 语句。
sql
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price DECIMAL(10, 2) NOT NULL
);
– 插入示例数据
INSERT INTO products (name, price) VALUES (‘商品1’, 100.00);
INSERT INTO products (name, price) VALUES (‘商品2’, 200.00);
注意:
这是一个非常简化的示例,实际的购物商城代码会复杂得多,包括用户认证、购物车管理、订单处理、支付集成等。
前端和后端之间的通信通常使用 HTTP 请求(如 GET、POST 等),并通过 API 进行。
数据库操作通常使用 ORM(对象关系映射)库来简化操作,如 SQLAlchemy(Python)或 Sequelize(JavaScript)。
前端框架除了 React 外,还有 Angular、Vue 等选择。
后端框架除了 Flask 外,还有 Django(Python)、Express(JavaScript)、Spring Boot(Java)等选择。由于编写一个完整的购物商城代码涉及到很多方面(如前端、后端、数据库等),且每种语言都有其特定的框架和库,我将为你提供一个非常简化的示例,分别用 Python(后端,使用 Flask 框架)、JavaScript(前端,使用 React 框架)和 SQL(数据库)来展示。
- 后端(Python, Flask)
python
from flask import Flask, request, jsonify
app = Flask(name)
假设的商品数据(实际中应从数据库获取)
products = [
{“id”: 1, “name”: “商品1”, “price”: 100},
{“id”: 2, “name”: “商品2”, “price”: 200},
]
@app.route(‘/products’, methods=[‘GET’])
def get_products():
return jsonify(products)
@app.route(‘/products/int:product_id’, methods=[‘GET’])
def get_product(product_id):
for product in products:
if product[‘id’] == product_id:
return jsonify(product)
return jsonify({‘error’: ‘Product not found’}), 404
… 其他路由和逻辑 …
if name == ‘main’:
app.run(debug=True)
2. 前端(JavaScript, React)
这里只展示一个简化的 React 组件,用于展示商品列表。
jsx
import React, { useState, useEffect } from ‘react’;
const ProductList = () => {
const [products, setProducts] = useState([]);
useEffect(() => {
fetch(‘/products’)
.then(response => response.json())
.then(data => setProducts(data));
}, []);
return (
{products.map(product => (
{product.name} - {product.price}
))}
);
};
export default ProductList;
3. 数据库(SQL)
假设你使用的是 MySQL 数据库,以下是创建商品表的 SQL 语句。
sql
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price DECIMAL(10, 2) NOT NULL
);
– 插入示例数据
INSERT INTO products (name, price) VALUES (‘商品1’, 100.00);
INSERT INTO products (name, price) VALUES (‘商品2’, 200.00);
注意:
这是一个非常简化的示例,实际的购物商城代码会复杂得多,包括用户认证、购物车管理、订单处理、支付集成等。
前端和后端之间的通信通常使用 HTTP 请求(如 GET、POST 等),并通过 API 进行。
数据库操作通常使用 ORM(对象关系映射)库来简化操作,如 SQLAlchemy(Python)或 Sequelize(JavaScript)。
前端框架除了 React 外,还有 Angular、Vue 等选择。
后端框架除了 Flask 外,还有 Django(Python)、Express(JavaScript)、Spring Boot(Java)等选择。