import datetime ####################### # define forms class BaseForm(Form): @classmethod def append_field(cls, name, field): setattr(cls, name, field) return cls from forms import TestForm form = TestForm.append_field("do_you_want_fries_with_that",BooleanField('fries')) form.append_field("do_you_want_a_burger_with_that",BooleanField('burger')) class RegisterOwnerForm(Form): name = StringField('Name', [validators.Required(), validators.Length(min=1,max=200,message='Please enter a name between 1 and 200 characters')]) class AdoptPuppyForm(Form): pass class NewPuppyForm(Form): name = StringField('Name', [validators.Required(), validators.Length(min=1,max=200,message='Please enter a name between 1 and 200 characters')]) birth = DateField('Date of Birth (format mm/dd/yyyy)', [validators.Required(message='Please enter a date in format mm/dd/yyyy (including slashes)')], format='%m/%d/%Y') gender = RadioField('Gender', choices=[('male','Male'),('female','Female')], default='female') weight = DecimalField('Weight', [validators.Required(), validators.NumberRange(min=1.0, max=500.0,message="Please enter a value between 1.0 and 500.0")]) class DeletePuppyForm(Form):