2013-01-26 6 views

답변

2

Actualy "필터"좋았다을하지만 내가 무엇인지 정확히 아니었다 하려고하는 것. 사용자 정의 필드를 만들고 작동 중입니다.

class MyDateField(DateField): 
    def __init__(self, label='', validators=None, transform_data=False, **kwargs): 
     super(MyDateField, self).__init__(label, validators, **kwargs) 
     self.transform_data = transform_data 

    def process_formdata(self, valuelist): 
     if self.transform_data: 
     data = str(valuelist[0]) 
     # transform your data here. (for example: data = data.replace('-', '.')) 

     super(MyDateField, self).process_formdata([data]) 

class F(Form): 
    date_test = MyDateField('Test', validators=[Required()], format='%d/%m/%Y', transform_data=True]) 

사용자 필드에서 값을 직접 수정하려면 _value()를 재정의해야합니다.

2

모든 WTForm 필드는 입력 데이터에 실행됩니다 callables의 목록입니다 filters 키워드 인수, 지원해야한다 :

def transform_data(data): 
    # do something with data here 
    return data 

class F(Form): 
    date_test = DateField('Test', validators=[Required()], format='%d/%m/%Y', 
           filters=[transform_data])