如何将包含连字符的属性添加到WTForms字段

时间:2012-09-05 15:22:11

标签: python wtforms

调用WTForms字段对象会生成渲染字段,例如,任何参数都将作为属性。

form.field(attribute='value')

会返回类似

的内容
<input attribute='value'>

如何添加HTML5自定义数据属性,例如包含连字符的data-provide,使它们在python中不可解析为单个关键字参数?

2 个答案:

答案 0 :(得分:22)

创建一个包含相应键值对的字典,并使用**将其传递给字段调用:

attrs = {'data-provide': "foo"}
form.field(**attrs)

编辑:看起来@NiklasB的评论应该是答案的一部分: 对于使用flask flask-WTF的人,请在模板中使用:{{ form.field( **{'data-provide': 'foo'} ) }}

答案 1 :(得分:0)

没有必要在form.field函数调用中使用类似的字典。 **将字典项解压缩到函数的命名参数中,所以只需添加参数:

{{form.field(data-provide =&#39; foo&#39;)}}

但是在该字段的任何必需参数之后这样做。 换句话说,为什么只要添加参数就可以解压缩字典呢?