如何通过窗口小部件设置WTForm字段的样式?

时间:2012-10-08 17:06:31

标签: widget wtforms

我想通过custom widget设置一个wtform字段的样式,但渲染会继续返回原始的html代码(带有&符号)。为什么呢?

这是我的小部件:

def my_widget(field, **kwargs):
    field_id = kwargs.pop('id', field.id)
    html = [u'<input class="my_class" %s value="" type="text">' % html_params(id=field_id, name=field_id)]
    return u''.join(html)

1 个答案:

答案 0 :(得分:1)

你需要判断字符串是否应该按原样呈现而不转义HTML:

from wtforms.widget.core import HTMLString

def my_widget(field, **kwargs):
    ....
    return HTMLString(u''.join(html))