题 Flask - POST错误405方法不允许


我刚开始学习Flask,我正在尝试创建一个允许POST方法的表单。这是我的方法:

@app.route('/template', methods=['GET', 'POST'])
def template():
    if request.method == 'POST':
        return "Hello"
    return render_template('index.html')

我的index.html:

<html>
  <head>
    <title> Title </title>
  </head>
  <body>
    Enter Python to execute:
    <form action="/" method="post">
      <input type="text" name="expression" />
      <input type="submit" value="Execute" />
    </form>
  </body>
</html>

加载表单(在收到GET时呈现)可以正常工作。当我点击提交按钮时,我得到一个POST 405错误方法不允许。为什么不显示你好?


44
2017-08-29 13:53


起源




答案:


您的表单正在提交 / 当方法被路由时 /template 除非这是一个错字,你应该调整你的表格 action 属性指向 template 视图: action="{{ url_for('template') }}"


36
2017-08-29 13:57





更换:

 <form action="/" method="post">

有:

 <form action="{{ url_for('template') }}" method="post">

12
2017-08-29 14:03





如果你省略了 action 属性,表单将发布到当前URL。

更换:

<form action="/" method="post">

有:

<form method="post">

4
2018-02-15 11:28