from flask import Flask, jsonify, request
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
from flask_cors import CORS
import GAME.HUoCheNGrM.Cn/2025-08-10-10-00-36dyo.html
os
app = Flask(__name__)
CORS(app) # 启用CORS
# 数据库配置
basedir = os.path.abspath(os.path.dirname(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'products.db')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(GAME.HUoCheNGrM.Cn/2025-08-10-09-40-33wy7.html
ma = Marshmallow(app)
# 产品模型
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), unique=True)
description = db.Column(db.String(200))
price = GAME.HUoCheNGrM.Cn/2025-08-10-09-20-35mez.html
db.Column(db.Float)
category = db.Column(db.String(50))
def __init__(self, name, description, price, category):
self.name = name
self.description = description
self.price = price
self.category = category
# 产品模式
class ProductSchema(ma.Schema):
class Meta: GAME.HUoCheNGrM.Cn/2025-08-10-09-00-30tax.html
fields = ('id', 'name', 'description', 'price', 'category')
product_schema = ProductSchema()
products_schema = ProductSchema(many=True)
# 创建数据库表
@app.before_first_request
def create_tables():
db.create_all()
# 路由
@app.route('/product', methods=['POST'])
def add_product(GAME.HUoCheNGrM.Cn/2025-08-10-08-40-25k4a.html
):
name = request.json['name']
description = request.json['description']
price = request.json['price']
category = request.json['category']
new_product = Product(name, description, price, category)
db.session.add(new_product)
db.session.commit()
return product_schema.jsonify(new_product)
@app.route('/product', methods=['GET'])
def get_products():
all_products = Product.query.all()
result = products_schema.dump(all_products)
return jsonify(result)
@app.route('/product/<id>', methods=['GET'])
def get_product(id):
product = Product.query.get(id)
return product_schema.jsonify(product)
@app.route('/product/<id>', methods=['PUT'])
def update_product(id):
product = Product.query.get(id)
product.name = request.json['name']
product.description = request.json['description']
product.price = request.json['price']
product.category = request.json['category']
db.session.commit(GAME.HUoCheNGrM.Cn/2025-08-10-08-20-27ptz.html
return product_schema.jsonify(product)
@app.route('/product/<id>', methods=['DELETE'])
def delete_product(id):
product = Product.query.get(id)
db.session.delete(product)
db.session.commit()
return product_schema.jsonify(product)
if __name__ == '__main__':
app.run(debug=True)