Skip to main content
 首页 » 编程设计

python-3.x之Google Cloud Console之Flask之main.py vs 包

2025年05月04日16lyj

好的,所以我已经通过一些教程将 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()