使用flask和WTForms在单个页面中包含多种表单

我在同一页面上有多种形式,可以将发布请求发送到flask中的同一处理程序。

我正在使用wtforms生成表单。

确定提交哪种表格的最佳方法是什么?

我目前正在使用action="?form=oneform"。我认为应该有一些更好的方法来实现相同目标?

回答:

我一直在使用两个flask片段的组合。第一个向表单添加前缀,然后使用validate_on_submit()检查前缀。我还使用LouisRoché的模板来确定在表单中按下了哪些按钮。

To quote Dan Jacob:

例:

form1 = FormA(prefix="form1")

form2 = FormB(prefix="form2")

form3 = FormC(prefix="form3")

然后,添加一个隐藏字段(或仅检查提交字段):

if form1.validate_on_submit() and form1.submit.data:

To quote Louis Roché’s:

我的模板中有:

<input type="submit" name="btn" value="Save">

<input type="submit" name="btn" value="Cancel">

为了弄清楚服务器端通过了哪个按钮,我在views.py文件中有:

if request.form['btn'] == 'Save':

something0

else:

something1

以上是 使用flask和WTForms在单个页面中包含多种表单 的全部内容, 来源链接: utcz.com/qa/415817.html

回到顶部