【问题标题】:Flask 404 Not Found ( 33mGET / HTTP/1.1 [0m" 404 - )找不到 Flask 404 ( 33mGET / HTTP/1.1 [0m" 404 - )
【发布时间】:2020-06-18 06:30:26
【问题描述】:

我正在尝试使用烧瓶创建我的第一个脚本。

这是我的代码:

from flask import Flask
from flask import Blueprint, request

prediction_app = Blueprint('prediction_app', __name__)

@prediction_app.route('/health', methods=['GET'])
def health():
    if request.method == 'GET':
        return 'ok'

def create_app() -> Flask:
    """Create a flask app instance."""

    flask_app = Flask('ml_api')

    # import blueprints
    flask_app.register_blueprint(prediction_app)

    return flask_app

application = create_app()

if __name__ == '__main__':
    application.run()

我将此代码作为 python run.py 运行,我得到 "Running on http://127.0.0.1:5000/"。 我转到此链接,而不是 "ok" 页面出现下一个错误:

Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

命令提示符给出以下输出:

127.0.0.1 - - [17/Jun/2020 16:59:25] "[33mGET / HTTP/1.1[0m" 404 -

问题出在哪里?

【问题讨论】:

  • 您请求的路径是/。在您的应用程序中,您为/health 定义了一个路由。所以你的服务器不知道如何处理/,因此返回404。请尝试http://127.0.0.1:5000/health
  • 点击这里/health
  • @mottek 我尝试将其更改为“@prediction_app.route('/127.0.0.1:5000/health', methods=['GET'])”位我得到相同的结果:404 Not Found
  • @illuminates 您的代码很好,请恢复您刚刚所做的更改。我的意思是使用 URL http://127.0.0.1:5000/health 使用您使用的任何工具(curl、浏览器......)访问您的应用程序
  • @mottek 谢谢。我明白了!

标签: python flask


【解决方案1】:

我没有看到定义的默认路由 (/);您是否尝试将浏览器指向http://localhost:5000/health?这就是你定义的路线。

(顺便说一句,localhost127.0.0.1 通常是等价的......)

【讨论】:

  • @illuminates 澄清:我不是要更改代码,只是您在浏览器中键入的内容。当我转到http://localhost:5000/health 时,您的确切代码对我有用
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多