Flask电商后台API #

一、功能模块 #

模块 功能
商品管理 商品CRUD
订单管理 订单处理
用户管理 用户系统
购物车 购物车功能
支付 支付集成

二、数据模型 #

python
class Product(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(200))
    price = db.Column(db.Float)
    stock = db.Column(db.Integer)
    description = db.Column(db.Text)

class Order(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    total = db.Column(db.Float)
    status = db.Column(db.String(20))
    items = db.relationship('OrderItem', backref='order')

class OrderItem(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    order_id = db.Column(db.Integer, db.ForeignKey('order.id'))
    product_id = db.Column(db.Integer, db.ForeignKey('product.id'))
    quantity = db.Column(db.Integer)
    price = db.Column(db.Float)

三、API示例 #

python
@app.route('/api/products', methods=['GET'])
def get_products():
    products = Product.query.all()
    return jsonify([{
        'id': p.id,
        'name': p.name,
        'price': p.price,
        'stock': p.stock
    } for p in products])

@app.route('/api/orders', methods=['POST'])
def create_order():
    data = request.get_json()
    order = Order(user_id=current_user.id, total=data['total'])
    for item in data['items']:
        order.items.append(OrderItem(
            product_id=item['product_id'],
            quantity=item['quantity'],
            price=item['price']
        ))
    db.session.add(order)
    db.session.commit()
    return jsonify({'id': order.id}), 201

四、总结 #

恭喜你完成了Flask完全指南的学习!现在你已经掌握了从基础到高级的Flask开发技能,可以开始构建自己的Flask应用了!

最后更新:2026-03-28