我不太确定如何处理这个问题,希望我能找到解决方法。
例如,我在页面上有一个充满地址的表格。这些地址的数量是动态的(可能是5或10或任何其他数量)。我想在一个页面上编辑它们的可能性。
我的做法是创建一个带有wtforms的表单来编辑一个地址,并在jinja2的for循环
中将其乘以并附加到html属性的name
和id
,从迭代中提取每一行数据,然后在需要评估时将其放回我的表单中。
所以这个例子的表单将是:
class AdressForm(Form):
name = TextField()
现在,我的模板方法如下所示(拆分为一个输入字段):
{% for address in addresses %}
{{ forms.render_field(addressform.name, id = "name_" ~ loop.index0,
name = "name_" ~ loop.index0, value = address.name) }}
{% endfor %}
(forms.render_field仅仅是一个宏,用于指定wtforms的field函数所需的正确类,就像在许多教程中使用的那样)
因此这个不起作用了,因为你不能手动传递name参数给field函数,因为wtforms会根据初始表单的变量名创建name html参数。
那么,有没有办法向要呈现的表单名称添加前缀或后缀呢?还是我的方法完全错误了?
或者我必须自己全盘完成(我真的试图避免这种情况)
user_addresses
)添加另一个条目即可。 - Sean Vieira{{form.hidden_tag()}}
和{{address_entry_form.hidden_tag()}}
。 - Gman