集成生成和开发环境分别的启动方式
This commit is contained in:
@@ -1,23 +1,40 @@
|
||||
from flask import Flask
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_migrate import Migrate
|
||||
from src.flask_prompt_master.config import Config
|
||||
import os
|
||||
from flask_cors import CORS
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# 加载环境变量
|
||||
load_dotenv()
|
||||
|
||||
# 导入新的配置系统
|
||||
from config import get_config
|
||||
|
||||
# 初始化扩展
|
||||
db = SQLAlchemy()
|
||||
migrate = Migrate()
|
||||
|
||||
def create_app(config_class=Config):
|
||||
def create_app(config_class=None):
|
||||
"""
|
||||
应用工厂函数
|
||||
使用新的配置系统自动选择环境配置
|
||||
"""
|
||||
app = Flask(__name__,
|
||||
template_folder='templates',
|
||||
static_folder='../static')
|
||||
|
||||
# 如果没有指定配置类,使用新的配置系统
|
||||
if config_class is None:
|
||||
config_class = get_config()
|
||||
|
||||
app.config.from_object(config_class)
|
||||
|
||||
# 初始化配置
|
||||
config_class.init_app(app)
|
||||
|
||||
# 启用跨域支持
|
||||
CORS(app)
|
||||
CORS(app, origins=app.config.get('CORS_ORIGINS', ['*']))
|
||||
|
||||
# 初始化扩展
|
||||
db.init_app(app)
|
||||
@@ -27,4 +44,9 @@ def create_app(config_class=Config):
|
||||
from src.flask_prompt_master.routes import main_bp
|
||||
app.register_blueprint(main_bp)
|
||||
|
||||
# 记录应用启动信息
|
||||
app.logger.info(f"应用启动 - 环境: {os.environ.get('FLASK_ENV', 'development')}")
|
||||
app.logger.info(f"调试模式: {app.config.get('DEBUG', False)}")
|
||||
app.logger.info(f"数据库: {app.config.get('SQLALCHEMY_DATABASE_URI', 'Not set')}")
|
||||
|
||||
return app
|
||||
Reference in New Issue
Block a user