![](/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.