【问题标题】:Keep getting HTTP 405 Method Not Allowed error when trying to POST form data with Flask尝试使用 Flask 发布表单数据时,不断收到 HTTP 405 Method Not Allowed 错误
【发布时间】:2021-12-19 14:45:32
【问题描述】:

我正在尝试使用 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”是我在 app.py 文件中为其创建端点的另一个 HTML 页面。即使我没有指定操作,也会引发相同的错误。

【问题讨论】:

    标签: python html http flask web


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 1970-01-01
      • 2020-01-08
      • 2018-06-28
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 2013-10-10
      相关资源
      最近更新 更多