2012-10-08 35 views
1

我想通过custom widget来设置一个wplace字段的样式,但是渲染会返回原始html代码(带&符号)。为什么?如何通过Widget设置WTForm字段?

这是我的小工具:

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

你需要告诉比字符串应该被渲染为是没有逃脱HTML:

from wtforms.widget.core import HTMLString 

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

对于任何人读这篇文章,我不得不这样做: ' from wtforms.widgets.core import HTMLString' 可能有一个重命名的地方。 – leed25d

相关问题