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

我有一个HTML表单发布到Flask路由。 但是, request.form是空的。 如果我尝试访问其中一个值,我得到一个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') 

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

 <input name="my_input" id="my_input" type="text" value="{{ email }}">