【问题标题】:Flask App in Heroku return Only 404 errorHeroku 中的 Flask App 仅返回 404 错误
【发布时间】:2019-03-28 16:53:53
【问题描述】:

我正在尝试仅使用 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 时,我可以看到该站点已启动,而不是 Crashed,并且我没有收到任何服务器错误,只是 Not Found 错误。就好像我的路线不起作用或类似的东西。 以下是我在尝试访问我的网站主页时在 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"

【问题讨论】:

  • 是的!我做到了。服务器开始监听,而我要求它返回 404 错误作为状态
  • 你能把你的flaskr路由器的代码放在你的问题中吗?
  • 请添加真正的问题...
  • 对不起!我已经更新了@柴郡猫

标签: flask


【解决方案1】:

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

web: gunicorn app:app -b "$HOST:$PORT" -w 3

我的初始脚本名为app,里面的flask应用程序也是在app下创建的,但要注意绑定中的$HOST

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-24
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多