在Flask中,可以使用create_app()模式导入视图而无需使用蓝图吗()

一万年来谁著史,三千里外欲封侯。这篇文章主要讲述在Flask中,可以使用create_app()模式导入视图而无需使用蓝图吗?相关的知识,希望能为你提供帮助。
我有一个非常小的Flask应用,其布局如下:

tinker/ main.py /my_package init.py views.py

当我修补时> python main.py一切运行正常。以下是每个文件的内容:
main.py:
from my_package import app app.run()

my_package / init。py:
from flask import Flaskapp = Flask(__name__) from my_package import views

my_package / views.py:
from my_package import app@app.route('/') def home(): return 'Ola!!!!!'

虽然以上所有代码在我尝试通过使用一个create_app()代码模式进行略微修改时都可以正常运行,如下所示,views.py引发以下异常:“ ImportError:无法从'my_package导入名称'app' '“有没有不用蓝图来解决问题的方法?
main.py:
from my_package import create_app app = create_app() app.run()

my_package / init。py:
from flask import Flaskdef create_app(): app = Flask(__name__) from my_package import views return app

my_package / views.py:
from my_package import app@app.route('/') def home(): return 'Ola!!!!!'

答案init.py需要重命名为__init__.py
app = Flask(__name__)移到create_app方法之外
【在Flask中,可以使用create_app()模式导入视图而无需使用蓝图吗()】在views.py中更改为from . import app

    推荐阅读