import wtforms.widgets.core class Static(object): def __call__(self, field, **kwargs): kwargs.setdefault('id', field.id) if kwargs['class_'] == 'form-control': kwargs['class_'] = 'form-control-static' html = ['

' % wtforms.widgets.core.html_params(**kwargs), field.data,'

'] return wtforms.widgets.core.HTMLString(''.join(html)) class TextArea(wtforms.widgets.core.TextArea): def __init__(self, **kwargs): self.kwargs = kwargs super(TextArea, self).__init__() def __call__(self, field, **kwargs): for arg in self.kwargs: if arg not in kwargs: kwargs[arg] = self.kwargs[arg] return super(TextArea, self).__call__(field, **kwargs) class PasswordInput(wtforms.widgets.core.PasswordInput): def __init__(self, hide_value=True, **kwargs): self.kwargs = kwargs super(PasswordInput, self).__init__(hide_value) def __call__(self, field, **kwargs): for arg in self.kwargs: if arg not in kwargs: kwargs[arg] = self.kwargs[arg] return super(PasswordInput, self).__call__(field, **kwargs)