从 HTML 表单发布值并在 Flask 视图中访问它们
- 2025-01-13 08:53:00
- admin 原创
- 115
问题描述:
我有一个 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')
解决方案 1:
您的表单input
没有属性name
。这是客户端将传递给服务器的内容。如果您访问未提交的表单键,Flask 将引发 400 错误。
<input name="my_input" id="my_input" type="text" value="{{ email }}">
解决方案 2:
您需要在 Html 页面中指定表单 Action 方法,然后在标签内提及 HTML 文本框名称。
<form method="POST" action="/PythonFunctionName">
<input id="my_input" type="text" name="HTMLControlName" value="{{ email }}">
<input id="my_submit" type="submit" value="Submit">
</form>
并在.py模块内部使用HTML标签中指定的名称访问元素。
@app.route('/PythonFunctionName', methods=['POST', 'GET'])
def getPage():
if request.method == 'POST':
strTextBoxVal= request.form['HTMLControlName'])
Print(strTextBoxVal)
return render_template('page.html')
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD