添加半成品页面进行数据
This commit is contained in:
@ -1,38 +1,53 @@
|
||||
# 文件路径: inventory-backend/app/__init__.py
|
||||
from flask import Flask
|
||||
from config import Config
|
||||
from app.extensions import db, migrate, cors
|
||||
|
||||
|
||||
def create_app():
|
||||
app = Flask(__name__)
|
||||
app.config.from_object(Config)
|
||||
|
||||
# 初始化插件
|
||||
# 1. 初始化插件
|
||||
db.init_app(app)
|
||||
migrate.init_app(app, db)
|
||||
# 确保跨域配置正确,允许前端访问
|
||||
|
||||
# 确保跨域配置
|
||||
cors.init_app(app, resources={r"/api/*": {"origins": "*"}})
|
||||
|
||||
# --- 注册蓝图 ---
|
||||
# =========================================================
|
||||
# 2. 注册蓝图 (Blueprints)
|
||||
# =========================================================
|
||||
|
||||
# 1. 保持原有的 stocks 模块
|
||||
try:
|
||||
from app.api.v1.stocks import stocks_bp
|
||||
app.register_blueprint(stocks_bp, url_prefix='/api/v1/stocks')
|
||||
except ImportError as e:
|
||||
print(f"⚠️ 警告: 原有 stocks 蓝图导入失败: {e}")
|
||||
|
||||
# 2. 注册新的入库聚合蓝图
|
||||
# 核心:必须先导入,再注册。路径对应 app/api/v1/inbound/__init__.py
|
||||
# 注册入库聚合模块 (Inbound)
|
||||
try:
|
||||
# 指向聚合文件: app/api/v1/inbound/__init__.py
|
||||
from app.api.v1.inbound import inbound_bp
|
||||
# 最终路径结构:/api/v1/inbound/buy/list
|
||||
app.register_blueprint(inbound_bp, url_prefix='/api/v1/inbound')
|
||||
print("✅ 入库模块蓝图注册成功")
|
||||
except ImportError as e:
|
||||
print(f"❌ 严重错误: 入库模块 inbound 蓝图导入失败: {e}")
|
||||
|
||||
# 打印路由映射,仅在本地调试时建议开启
|
||||
# with app.app_context():
|
||||
# print(app.url_map)
|
||||
# 注册父蓝图,路由前缀为 /api/v1/inbound
|
||||
# 最终路由效果:
|
||||
# /api/v1/inbound + /buy/list -> /api/v1/inbound/buy/list
|
||||
# /api/v1/inbound + /semi/list -> /api/v1/inbound/semi/list
|
||||
app.register_blueprint(inbound_bp, url_prefix='/api/v1/inbound')
|
||||
|
||||
print("✅ Inbound (Buy & Semi) 模块注册成功")
|
||||
|
||||
except ImportError as e:
|
||||
print(f"❌ 错误: Inbound 模块导入失败: {e}")
|
||||
|
||||
# =========================================================
|
||||
# 3. 预加载数据模型 (解决 relationship 找不到模型的问题)
|
||||
# =========================================================
|
||||
with app.app_context():
|
||||
try:
|
||||
# ✅ 修正点:引用新路径 (不再引用 app.models.stock)
|
||||
from app.models.inbound.buy import StockBuy
|
||||
from app.models.inbound.semi import StockSemi
|
||||
from app.models.material import MaterialBase
|
||||
|
||||
# 如果是开发环境且没有迁移文件,可以取消注释下面这行来创建表
|
||||
# db.create_all()
|
||||
except ImportError as e:
|
||||
print(f"⚠️ 模型预加载失败: {e}")
|
||||
|
||||
return app
|
||||
Reference in New Issue
Block a user