Heroku中的Flask应用返回仅404错误

时间:2018-10-24 10:02:38

标签: flask

我正在尝试仅使用Flask和Python构建一个非常简单的Flask应用程序。该应用程序可以在本地计算机上完美运行,并且可以无错误地进行导航,但是当我部署到Heroku时,我尝试访问的任何页面(包括索引)都收到404 Not Found错误。

manage.py是我的应用程序的根目录。这是当前的样子:

app = create_app(config.DefaultConfig)

if __name__ == "__main__":
        app.run()

这是我的_初始化_.py:     从烧瓶进口烧瓶     从.config导入DefaultConfig     从.shopify_bp导入shopify_bp     从.extensions导入数据库     全部 = ['create_app']

DEFAULT_BLUEPRINTS = (
    shopify_bp,
)
def create_app(config=None, blueprints=None,third=None):
    """Create Flask app.

    """
    if blueprints is None:
        blueprints = DEFAULT_BLUEPRINTS
    app = Flask(__name__)
    configure_app(app, config)
    configure_blueprints(app, blueprints)
    return app

这是我的Procfile:

web: gunicorn --bind 0.0.0.0:$PORT manage:app

我认为一切都设置正确,因为我可以在本地运行该应用程序而不会出现任何问题。当我部署到Heroku时,可以看到该站点已启动,而不是崩溃,并且我没有收到任何服务器错误,只是未找到错误。几乎就像我的路线不起作用一样。 这是我尝试访问网站主页时在Heroku日志中看到的内容:

2018-10-24T09:53:26.797881+00:00 app[web.1]:   ' "{rv}.localdomain", and use that instead.'.format(rv=rv)
2018-10-24T09:53:26.798802+00:00 app[web.1]: 10.37.240.166 - - [24/Oct/2018:09:53:26 +0000] "GET /shopify HTTP/1.1" 404 233 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36"

1 个答案:

答案 0 :(得分:0)

您也应该为主机使用env变量,这是我在heroku中Flask应用程序正常运行的Procfile

Activity

我的初始脚本称为web: gunicorn app:app -b "$HOST:$PORT" -w 3 ,并且里面的flask应用程序也在app下创建,但请注意绑定中的app