我想通过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)
答案 0 :(得分:1)
你需要判断字符串是否应该按原样呈现而不转义HTML:
from wtforms.widget.core import HTMLString
def my_widget(field, **kwargs):
....
return HTMLString(u''.join(html))