Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ContactForm(forms.Form):
- subject = forms.CharField(max_length=100)
- message = forms.CharField()
- sender = forms.EmailField()
- class PrivEdit(ModelForm):
- def __init__(self, *args, **kw):
- super(ModelForm, self).__init__(*args, **kw)
- self.fields.keyOrder = [
- 'super_user',
- 'all_districts',
- 'multi_district',
- 'all_schools',
- 'manage_users',
- 'direct_login',
- 'student_detail',
- 'license']
- class Meta:
- model = Privilege
- class ContactForm(forms.Form):
- subject = forms.CharField(max_length=100)
- message = forms.CharField()
- def __init__(self,*args,**kwargs):
- forms.Form.__init__(self,*args,**kwargs)
- #first argument, index is the position of the field you want it to come before
- self.fields.insert(0,'sender',forms.EmailField(initial=str(time.time())))
- def move_field_before(form, field, before_field):
- content = form.base_fields[field]
- del(form.base_fields[field])
- insert_at = list(form.base_fields).index(before_field)
- form.base_fields.insert(insert_at, field, content)
- return form
- import operator
- import itertools
- class Field(object):
- _counter = itertools.count()
- def __init__(self):
- self.count = Field._counter.next()
- self.name = ''
- def __repr__(self):
- return "Field(%r)" % self.name
- class MyForm(object):
- b = Field()
- a = Field()
- c = Field()
- def __init__(self):
- self.fields = []
- for field_name in dir(self):
- field = getattr(self, field_name)
- if isinstance(field, Field):
- field.name = field_name
- self.fields.append(field)
- self.fields.sort(key=operator.attrgetter('count'))
- m = MyForm()
- print m.fields # in defined order
- [Field('b'), Field('a'), Field('c')]
Add Comment
Please, Sign In to add comment