我正在尝试在heroku上部署我的非常简单的flask应用程序,但是当我尝试访问heroku应用程序时,它给了我这个错误:An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.
我从终端检查了日志,并说:失败在“应用”中找到属性“应用” 。
代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "VatsalayKhobragade.me"
项目结构
Procifle
web: gunicorn app:app
Requirements.txt
click==7.1.2
Flask==1.1.2
gunicorn==20.0.4
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.1.1
Werkzeug==1.0.1
请对此提供帮助。我在这里做错了什么??
答案 0 :(得分:2)
可能可以通过procfile解决:
web: gunicorn app.app:app
尽管为清楚起见,您可能希望将顶级app
文件夹重命名为其他名称,然后使用:
web: gunicorn something.app:app
或创建一个包含以下内容的something/__init__.py
文件:
from .app import app
然后只需一个带有以下内容的procfile:
web: gunicorn something:app
答案 1 :(得分:0)
我遇到了同样的错误。就我而言,我使用的是APP
属性而不是app
。
将APP
替换为app
时,问题已解决。
APP = create_app() # correct one -> use app in all lower case
if __name__ == '__main__':
APP.run() # correct one -> use app in all lower case
答案 2 :(得分:0)
您有一个名为 app
的文件夹和一个名为 app.py
的顶级文件,用作应用程序的入口点。
它修复了这个错误,您需要将入口点文件名更改为其他名称,例如 blog.py
(或您可能需要的任何其他名称)。
更新您的Procfile
:
web: gunicorn blog:app
或者,您可以重命名 app
文件夹以避免这种冲突