尝试使用 Flask POST 形成数据时不断收到 HTTP 405 Method Not Allowed 错误

Keep getting HTTP 405 Method Not Allowed error when trying to POST form data with Flask

我正在尝试使用 Python 和 Flask 捕获 HTTP 表单数据,但我一直收到“方法不允许”错误。我一直试图弄清楚为什么有一段时间没有运气。 我的代码如下所示:

@app.route("/add_recipe")  
  def addrecipepage():
    if request.method=="post":
        print ("Successful post request") # Just testing if code is working so far
    return render_template("add_recipe.html")

和HTML代码:

<form id="contact" action="browseAll" method="post">
    <div class="row">
      <div class="col-md-6">
        <fieldset>
          <input name="name" type="text" class="form-control" id="name" placeholder="Recipe Name..." required="">
        </fieldset>

<div class="col-12">
    <textarea name="demo-message" id="recipeText" placeholder="Enter Ingredients & Instructions Here" rows="15"></textarea>
  </div>
<div class="col-md-12">
    <button type="submit" id="form-submit" class="button">Add The Recipe!</button>
    <button id="uploadPhotoButton">Upload A Photo!</button>
    </div>
</form>

当我点击提交按钮时,出现 HTTP 405 Method Not Allowed 错误。看到这个之后,有人对为什么有任何想法吗? “browseAll”是另一个 HTML 页面,我在 app.py 文件中为其创建了一个端点。即使我没有指定操作,也会抛出相同的错误。

您正在执行 POST(您的表单有 method = "post"),但您的路由没有附加 post 方法。当你定义一个没有附加方法的路由时,它默认为 GET。你需要这样做

@app.route("/add_recipe", methods =['GET', 'POST'])