如何解决 Flask/Heroku 错误:“Method Not Allowed 请求的 URL 不允许该方法”
Posted
技术标签:
【中文标题】如何解决 Flask/Heroku 错误:“Method Not Allowed 请求的 URL 不允许该方法”【英文标题】:How to solve Flask/Heroku Error: “Method Not Allowed The method is not allowed for the requested URL” 【发布时间】:2021-03-15 02:44:35 【问题描述】:我正在使用烧瓶、heroku 和颤振,但是当我调用 url 时出现以下错误。这是我的 app.py 代码:
from flask import Flask, jsonify, request
import pandas as pd
import numpy as np
import joblib
import traceback
from flask_restful import reqparse
app = Flask(__name__)
"""@app.route("/", methods=['GET'])
def hello():
return "hey"""
@app.route('/', methods=['POST'])
def predict():
lr = joblib.load("model.pkl")
if lr:
try:
json = request.get_json()
model_columns = joblib.load("model_cols.pkl")
temp=list(json[0].values())
vals=np.array(temp)
prediction = lr.predict(temp)
print("here:",prediction)
return jsonify('prediction': str(prediction[0]))
except:
return jsonify('trace': traceback.format_exc())
else:
return ('No model here to use')
if __name__ == '__main__':
app.run(debug=True)
它已经在 Heroku 应用程序上。 heroku 的链接如下:https://myappflutterflask.herokuapp.com/
【问题讨论】:
您不允许在您的主页路由中使用GET
方法,因此您无法直接进入主页。
【参考方案1】:
看起来您在程序中公开了 POST 方法,但使用 GET(可能通过网络浏览器)访问它。
您可能需要使用不同的客户端对其进行测试:例如浏览器插件、Postman、curl。
【讨论】:
谢谢。我又做了一次,就是你提到的那件事。以上是关于如何解决 Flask/Heroku 错误:“Method Not Allowed 请求的 URL 不允许该方法”的主要内容,如果未能解决你的问题,请参考以下文章
在 Flask+Heroku 上将 HTTP 重定向到 HTTPS
会话不可用,因为没有设置密钥。将应用程序上的 secret_key 设置为唯一且机密的东西。烧瓶/Heroku
SignTool Error: No certificates were found that met all the given criteria