我想通过自定义小部件来设置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)
您需要告诉字符串应该按原样呈现而不转义 HTML:
from wtforms.widget.core import HTMLString
def my_widget(field, **kwargs):
....
return HTMLString(u''.join(html))