ICa*_*ode 7 python pip heroku flask
我正在尝试部署我的烧瓶应用程序.通常我会有一个app.py并将所有代码放入其中.
app.py
templates/
|
|--index.html
Run Code Online (Sandbox Code Playgroud)
对于我真正的小项目.但后来我有一个稍大的应用程序,并按照更大的应用程序指南.所以我有这个:
setup.py
app/
__init__.py
views.py
models.py
forms.py
templates/
| ---index.html
Run Code Online (Sandbox Code Playgroud)
我现在拥有所有路线和视图views.py并运行应用程序__init__.py:
from flask import Flask
app = Flask(__name__)
import app.views # Name in setup.py
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
(这只是一个例子)所以现在我按照指南运行它pip install -e .并运行:
>set FLASK_APP=app(name I set in setup.py) flask run它可以工作.除了我不知道如何用一个命令运行它.由于没有一个文件可以运行,我不能使用gunicorn或类似的东西.我不知道如何执行这个应用程序.我如何pip install .在云服务器heroku上运行?我的问题是因为我必须使用导入博客导入app来自__init__.py和视图.[插入导入] (模型,视图等)任何帮助表示赞赏.谢谢.
编辑:我不想使用蓝图.那可能太多了.我的应用程序是中等的,不小但不大
你绝对可以使用Gunicorn来运行这个项目.Gunicorn不仅限于单个文件,它只是导入Python模块flask run.Gunicorn只需知道要导入的模块,即在该模块中调用的WSGI对象.
当您使用FLASK_APP,所有flask run做的就是寻找module.app,module.application或实例Flask()类.它还支持一个create_app()或make_app()app工厂,但你没有使用这样的工厂.
Gunicorn不会搜索,如果你只给它一个模块,它会期望该名称application是WSGI可调用的.在你的情况下,你正在使用app所以你要做的就是明确告诉它使用什么名称:
gunicorn app:app
Run Code Online (Sandbox Code Playgroud)
前面的部分:是要导入的模块(app在您的情况下),冒号后面的部分是可调用对象(也在app模块中命名).
如果您已设置FLASK_APP为Heroku配置var并想重新使用它,则可以在命令行上引用它gunicorn:
gunicorn $FLASK_APP:app
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
710 次 |
| 最近记录: |