我正在使用Flask构建一个网站,在一个页面上我有两个表单。如果有POST,我需要决定发布哪个表单。我当然可以从request.form
中的字段中删除它,但我宁愿通过获取提交的表单的名称(由<form name="my_form">
定义)来明确它。我尝试过几件事,比如:
@app.route('/myforms', methods=['GET', 'POST'])
def myForms():
if request.method == 'POST':
print request.form.name
print request.form.['name']
但遗憾的是,没有任何作用。有谁知道我在哪里可以获得提交表格的名称?欢迎所有提示!
答案 0 :(得分:14)
表格中没有&#39;名称。该信息不是由浏览器发送的; name
标记上的<form>
属性仅用于浏览器端(不建议用于启动,而是使用id
)。
您可以使用隐藏字段添加该信息,但区分发布到同一表单处理程序的表单的最常用方法是为提交按钮指定名称:
<submit name="form1" value="Submit!"/>
和
if 'form1' in request.form:
但您也可以使用<input type="hidden">
字段来包含区分表单的方法。