1

カスタムウィジェットを使用して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)
4

1 に答える 1

1

HTMLをエスケープせずに文字列をそのままレンダリングする必要があることを伝える必要があります。

from wtforms.widget.core import HTMLString

def my_widget(field, **kwargs):
    ....
    return HTMLString(u''.join(html))
于 2012-10-08T19:58:46.053 に答える