我刚刚开始学习Flask,但我遇到了POST方法的麻烦。
这是我的(非常简单的)Python代码:
@app.route('/test')
def test(methods=["GET","POST"]):
if request.method=='GET':
return('<form action="/test" method="post"><input type="submit" value="Send" /></form>')
elif request.method=='POST':
return "OK this is a post method"
else:
return("ok")
我已成功通过点击发送按钮提交表单,但我返回 405错误:
方法不允许 请求的网址不允许使用此方法。
这是一个非常简单的案例,但我无法理解我的错误在哪里。
答案 0 :(得分:9)
您必须在路线声明接受的方法中添加“POST”。你把它放在了函数中。
@app.route('/test', methods=['GET', 'POST'])
def test():
if request.method=='GET':
return('<form action="/test" method="post"><input type="submit" value="Send" /></form>')
elif request.method=='POST':
return "OK this is a post method"
else:
return("ok")