好的,所以我已经通过一些教程将 Flask 应用程序安装到谷歌云上,这很好。
我也是通过flask教程搭建了一个flaskr博客: http://flask.pocoo.org/docs/1.0/tutorial/
我突然想到,明智的做法是在 google 上创建一个数据库(mycase 中的 MySQL),然后修改代码以便它使用该数据库。这很好,我可以让它在我的本地机器上运行。
但是,现在我要部署这个了,我遇到了一个问题。
google cloud 教程倾向于使用在单个文件中启动的 flask 应用程序,例如 main.py,例如:
from flask import Flask, render_template
app = Flask(__name__)
....
上面提到的 flask 教程使用了一个包,并将代码放在 __init__.py 文件中的 create_app() 中,目前我无法以相同的方式启动它。 (参见示例代码)。
from flask import Flask
def create_app(test_config=None):
# create and configure the app
app = Flask(__name__, instance_relative_config=True)
app.config.from_mapping(
SECRET_KEY='dev'
)
我是否需要对 app.yaml 文件之类的文件进行一些调整以使其将 flask 识别为 flaskr 包,或者我是否需要重写整个文件以便它使用 main.py 文件?
我觉得这是我真正可以养成坏习惯的时间点之一。一般来说,在谷歌云上编写 Flask 应用程序的首选方式是什么?
我使用的是google中的标准环境。
感谢您的建议。
标记
请您参考如下方法:
由于您拥有应用程序工厂,因此您可以在任何地方创建应用程序。只需在 main.py
中创建它,因为这是 App Engine 所期望的:
from my_package import create_app
app = create_app()