后端示例(使用 Python Flask 和 SQLite)ssvoip.com
安装 Flask
首先,确保安装了 Flask。可以使用 pip 安装:
bash
pip install Flask Flask-SQLAlchemy
Flask 应用基础结构
python
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(name)
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘sqlite:///shop.db’
app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = False
db = SQLAlchemy(app)
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
price = db.Column(db.Float, nullable=False)
@app.route(‘/products’, methods=[‘GET’])
def get_products():
products = Product.query.all()
output = []
for product in products:
product_data = {‘id’: product.id, ‘name’: product.name, ‘price’: product.price}
output.append(product_data)
return jsonify({‘products’: output})
@app.route(‘/products’, methods=[‘POST’])
def add_product():
data = request.get_json()
name = data[‘name’]
price = data[‘price’]
new_product = Product(name=name, price=price)
db.session.add(new_product)
db.session.commit()
return jsonify({‘message’: ‘Product added successfully!’}), 201
if name == ‘main’:
db.create_all()
app.run(debug=True)
前端示例(使用 React)
这里只展示一个基础的 React 组件,用于从 Flask 后端获取产品列表并显示。
安装 React
首先,需要设置 React 环境,可以通过 Create React App 快速开始:
bash
npx create-react-app shop-frontend
cd shop-frontend
npm start
React 组件示例
在 src/App.js 或其他组件文件中:
jsx
import React, { useState, useEffect } from ‘react’;
import axios from ‘axios’;
function App() {
const [products, setProducts] = useState([]);
useEffect(() => {
axios.get(‘http://localhost:5000/products’)
.then(response => {
setProducts(response.data.products);
})
.catch(error => {
console.error(“There was an error!”, error);
});
}, []);
return (
Products
{products.map(product => (
{product.name} - ${product.price}
))}
);
}
export default App;
注意:你需要安装 axios 来处理 HTTP 请求:
bash
npm install axios
总结
这只是一个非常基础的示例,一个完整的购物商城系统还需要处理用户认证、支付系统、订单管理、库存控制、搜索功能、产品分类等多个复杂的功能。这些示例仅用于展示如何开始一个基于 Flask 和 React 的项目。对于生产环境,你可能还需要考虑使用更健壮的数据库(如 PostgreSQL 或 MySQL)、更安全的用户认证方法(如 OAuth2 或 JWT)、以及前端路由和状态管理(如 React Router 和 Redux)。创建一个完整的购物商城系统是一个复杂的项目,涉及前端(用户界面)和后端(业务逻辑和数据库管理)的开发。由于篇幅限制,我无法在这里提供完整的商城系统代码,但我可以给出一些关键部分的示例,使用几种流行的编程语言和技术栈。
后端示例(使用 Python Flask 和 SQLite)
安装 Flask
首先,确保安装了 Flask。可以使用 pip 安装:
bash
pip install Flask Flask-SQLAlchemy
Flask 应用基础结构
python
from flask import Flask, request, jsonify
from flask_sqlalchemy import SQLAlchemy
app = Flask(name)
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘sqlite:///shop.db’
app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = False
db = SQLAlchemy(app)
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
price = db.Column(db.Float, nullable=False)
@app.route(‘/products’, methods=[‘GET’])
def get_products():
products = Product.query.all()
output = []
for product in products:
product_data = {‘id’: product.id, ‘name’: product.name, ‘price’: product.price}
output.append(product_data)
return jsonify({‘products’: output})
@app.route(‘/products’, methods=[‘POST’])
def add_product():
data = request.get_json()
name = data[‘name’]
price = data[‘price’]
new_product = Product(name=name, price=price)
db.session.add(new_product)
db.session.commit()
return jsonify({‘message’: ‘Product added successfully!’}), 201
if name == ‘main’:
db.create_all()
app.run(debug=True)
前端示例(使用 React)
这里只展示一个基础的 React 组件,用于从 Flask 后端获取产品列表并显示。
安装 React
首先,需要设置 React 环境,可以通过 Create React App 快速开始:
bash
npx create-react-app shop-frontend
cd shop-frontend
npm start
React 组件示例
在 src/App.js 或其他组件文件中:
jsx
import React, { useState, useEffect } from ‘react’;
import axios from ‘axios’;
function App() {
const [products, setProducts] = useState([]);
useEffect(() => {
axios.get(‘http://localhost:5000/products’)
.then(response => {
setProducts(response.data.products);
})
.catch(error => {
console.error(“There was an error!”, error);
});
}, []);
return (
Products
{products.map(product => (
{product.name} - ${product.price}
))}
);
}
export default App;
注意:你需要安装 axios 来处理 HTTP 请求:
bash
npm install axios
总结
这只是一个非常基础的示例,一个完整的购物商城系统还需要处理用户认证、支付系统、订单管理、库存控制、搜索功能、产品分类等多个复杂的功能。这些示例仅用于展示如何开始一个基于 Flask 和 React 的项目。对于生产环境,你可能还需要考虑使用更健壮的数据库(如 PostgreSQL 或 MySQL)、更安全的用户认证方法(如 OAuth2 或 JWT)、以及前端路由和状态管理(如 React Router 和 Redux)。