Reputation: 31
I try to order my form (in Django) but it doesn't work. I tried some ways but nothing helps.
I tried for example with SortedDict from django.utils.datastructures
. But this is not up to date...
class RegisterForm (UserCreationForm):
email = forms.EmailField(required=True)
name = forms.CharField(required = True)
class Meta:
model = User
fields = {'name','email', 'username','password1','password2'}
field_order = {'name','email', 'username','password1','password2'}
def __init__(self, *args, **kwargs):
super(RegisterForm,self).__init__(*args, **kwargs)
#self.rearrange_field_order()
def save(self, commit=True):
user = super(RegisterForm,self).save(commit = False)
user.email = self.cleaned_data['email']
user.name = self.cleaned_data['name']
if commit:
user.save()
return user
This is the order of the output:
Can anyone help? At least with a method that is up to date?
Upvotes: 1
Views: 220
Reputation: 599620
You have made fields
and field_order
sets. Sets are not ordered. They should be lists or tuples.
fields = ['name','email', 'username','password1','password2']
field_order = ['name','email', 'username','password1','password2']
Upvotes: 3