Flask – POST错误405方法不允许

我刚刚开始学习Flask,并且正在尝试创build一个允许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时呈现)工作正常。 当我点击提交button但是,我得到一个POST 405错误方法不允许。 为什么不显示你好?

您的表单正在提交/当方法路由为/template除非这是一个错字,您应该调整您的表单的action属性,并指向'/template'

更换:

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

有:

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

如果你不想每次都记住这个url,那么就这样做。 它会正常工作。

更换:

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

有:

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