【发布时间】:2015-04-07 04:09:49
【问题描述】:
我不太确定如何处理这件事。我希望我能到达那里。
例如,我在一个页面上有一个充满地址的表格。这些计数是动态的(可以是 5 或 10 或任何其他计数)。我希望可以在一页上编辑它们。
我的方法是创建一个带有 wtforms 的表单来编辑一个地址并相乘
它在 jinja2 for loop 中并附加到 html 属性 name 和 id
loop.index0 来自迭代,所以我可以手动提取每一行数据
并在我想评估时将其放回我的表单中。
所以这个例子的表格是:
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 的字段函数指定正确的类。就像他们在许多教程中使用的那样)
所以这是行不通的,因为您不能手动将 name 参数传递给字段函数,因为 wtforms 从初始表单的变量名创建 name html-paramter。
那么有没有办法为我要呈现的表单的名称添加前缀或后缀。 或者这是一个 XY 问题,我的方法完全错误。
还是我自己做所有的事情(我真的尽量避免这种情况)
【问题讨论】:
标签: python flask jinja2 wtforms flask-wtforms