forms.py 727 B

12345678910111213141516171819202122232425
  1. from floppyforms import *
  2. from floppyforms import Form as BaseForm, ModelForm as BaseModelForm
  3. class AutoStripWhitespacesMixin(object):
  4. autostrip_exclude = None
  5. def full_clean(self):
  6. self.data = self.data.copy()
  7. for name, field in self.fields.iteritems():
  8. if (field.__class__ == CharField and
  9. not name in self.autostrip_exclude):
  10. try:
  11. self.data[name] = self.data[name].strip()
  12. except KeyError:
  13. pass
  14. return super(AutoStripWhitespacesMixin, self).full_clean()
  15. class Form(AutoStripWhitespacesMixin, BaseForm):
  16. pass
  17. class ModelForm(AutoStripWhitespacesMixin, BaseModelForm):
  18. pass