如何改变字段的顺序?

时间:2014-05-01 15:59:30

标签: python django

请帮助更改屏幕上表单字段的顺序。

我创建了以下模型:

class UserProfile(User):
    status = models.CharField(
        max_length=30, 
        blank=True,
    )

    address = models.EmailField(
        max_length=50, 
        blank=True,
    )   

    objects = UserManager()

然后使用注册表单的字段构建此模型的组合字段:

class MyRegistrationForm(UserCreationForm): 
    username = forms.CharField(
        label='username',
        help_text='',
        required=True,
    )

    password1 = forms.CharField(
        label='pass1',
        help_text='',
        required=True,
    )   

    password2 = forms.CharField(
        label='pass2',
        help_text='',
        required=True,
    )   

    class Meta:
        model = UserProfile
        fields = ('status', 'address')

因此用户按以下顺序在显示字段中看到: 状态,地址,用户名,pass1,pass2

但我需要用户按以下顺序查看屏幕字段: 用户名,地址,pass1,pass2,status

1 个答案:

答案 0 :(得分:1)

根据documentation

  

生成的Form类将为每个模型字段都有一个表单字段   按照fields属性中指定的顺序指定。

class MyRegistrationForm(UserCreationForm): 
    ...
    class Meta:
        model = UserProfile
        fields = ('username', 'address', 'password1', 'password2', 'status')

另请参阅:How can I order fields in Django ModelForm?