You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask中create_app()函数无法生效及导入app报错问题求助

正确启用Flask create_app()的方法

问题根源

你当前的代码里,run.py直接导入了gg模块里的app实例,但从未调用create_app()函数,所以控制台只打印hello1;修改后的代码出现导入错误,本质是没遵循Flask应用工厂模式的正确调用逻辑。

修正步骤

1. 调整__init__.py(标准应用工厂写法)

不要提前创建app实例,把实例创建逻辑封装到create_app()内部:

from flask import Flask

def create_app():
    print("hello2")
    app = Flask(__name__)
    # 可在此添加配置、注册蓝图等业务逻辑
    return app

如果需要保留全局app引用(不推荐,但兼容原有习惯),也可以这样写:

from flask import Flask
app = None

print("hello1")
def create_app():
    global app
    print("hello2")
    app = Flask(__name__)
    return app

2. 修改run.py,调用create_app()获取实例

原来的run.py直接导入未初始化的app,现在需要主动调用工厂函数生成实例:

from gg import create_app

app = create_app()  # 执行此代码才会触发create_app()内部逻辑

if __name__ == '__main__':
   app.run(host='x.x.x.x', port='XXXX', debug=True)

验证效果

运行run.py后,控制台会依次打印hello1(模块导入时执行)和hello2(create_app调用时执行),同时正常启动Flask服务。

内容的提问来源于stack exchange,提问作者임지웅

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 16:32:01