![](/img/trans.png)
[英]How to output Multiple elements from an XML with the same name using Python?
[英]How to manage multiple HTML elements with same name using WTForms, Jinja & Python
我用Jinja定义了一个HTML模板,在其中我定义了三(3)个具有相同名称的文本字段。 然后在后端使用get_all方法收集了所有值。
然后为了添加表单验证等,我添加了WTForms库。 然后我定义一个表单为:
class RoleForm(BaseForm):
name = fields.TextField(_('Name'))
在HTML页面中,我将此元素渲染了三(3)次。
现在,当我提交表单并且验证失败时,我使用表单作为输入重新渲染模板。 但是,每个元素都有我输入的值,所有文本字段都具有第一个文本字段的值。
此外,如果可以通过验证,则我使用form.name.data,它不会为我提供来自三个文本字段的所有数据,而仅是第一个。
你知道我该如何处理吗?
提前致谢!
您正在寻找wtforms.fields.FieldList
字段附件:
class RoleForm(BaseForm):
name = fields.FieldList(fields.TextField(_('Name')), min_entries=3)
您需要做的就是创建这样的HTML input
元素:
<input name="row-{{ loop.index0 }}" type="checkbox">
它将呈现以下输入:
<input name="row-0" type="checkbox">
<input name="row-1" type="checkbox">
内循环或类似的东西。 然后,您将能够检索表单内容:
class ListForm(Form):
row = FieldList(fields.TextField('Row'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.