小编典典

从HTML表单发布值并在Flask视图中访问它们

html

我有一个HTML表单,该表单已发布到Flask路线中。但是,request.form是空的。如果我尝试通过id访问值之一,则会收到400错误。如何发布HTML表单中的值并在Flask中访问它们?

<form method="POST">
  <input id="my_input" type="text" value="{{ email }}">
  <input id="my_submit" type="submit" value="Submit">
</form>



@app.route('/page', methods=['POST', 'GET'])
def get_page():
    if request.method == 'POST':
        print(request.form)  # prints ImmutableMultiDict([])
        print(request.form['my_input'])  # raises 400 error
    return render_template('page.html')

阅读 249

收藏
2020-05-10

共1个答案

小编典典

input没有name属性。这就是客户端将传递给服务器的内容。如果您访问未提交的表单密钥,则Flask会引发400错误。

<input name="my_input" id="my_input" type="text" value="{{ email }}">
2020-05-10