Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Flask中获取已提交表单的名称?_Python_Html_Forms_Post_Flask - Fatal编程技术网

Python 如何在Flask中获取已提交表单的名称?

Python 如何在Flask中获取已提交表单的名称?,python,html,forms,post,flask,Python,Html,Forms,Post,Flask,我正在用Flask建立一个网站,在一个页面上我有两个表单。如果有帖子,我需要决定要发布哪个表单。当然,我可以从request.form中的字段中扣除它,但我更愿意通过获取提交表单的名称(由定义)来明确它。我尝试了几种方法,例如: @app.route('/myforms', methods=['GET', 'POST']) def myForms(): if request.method == 'POST': print request.form.name

我正在用Flask建立一个网站,在一个页面上我有两个表单。如果有帖子,我需要决定要发布哪个表单。当然,我可以从
request.form
中的字段中扣除它,但我更愿意通过获取提交表单的名称(由
定义)来明确它。我尝试了几种方法,例如:

@app.route('/myforms', methods=['GET', 'POST'])
def myForms():
    if request.method == 'POST':
        print request.form.name
        print request.form.['name']

但不幸的是,一切都不起作用。有人知道我在哪里可以得到提交表格的名称吗?欢迎所有提示

没有“表单名称”。该信息不是由浏览器发送的;
标记上的
name
属性仅用于浏览器端(不推荐使用,请改用
id

您可以通过使用隐藏字段添加该信息,但区分向同一表单处理程序发布的表单的最常见方法是为“提交”按钮指定一个名称:



但是您也可以使用
字段来包含区分表单的方法。

谢谢!这确实解决了我的问题!我从来不知道这不是通过浏览器发送的。最后一个问题:“不推荐启动”是什么意思?@kramer65:HTML4中已不推荐使用
name
属性。因此,它不仅对您的用例没有用处,甚至不再是您应该使用的属性。啊,太棒了。我在九十年代学习了html,之后我主要在后端系统工作了几年。所以我的html技能有点过时了……)万分感谢!是的,但当您在烧瓶中有两个提交按钮时,您如何区分这两个提交按钮呢:
form.submit(class=“btn btn outline info”)
。我在哪里可以指定name属性?@Nikos:是的,没错。WTForms总是将绑定的字段名作为
name
属性添加到输入字段中,提交也不例外。
if 'form1' in request.form: