Daevaorn
нет. всегда можно поменять
Хорошо. Это можно поменять в случаи что все мои модели - мои, а если я наследуюся от встроенных моделей например django.contrib.auth.models.User
например код:
class UserProfile(User):
middle_name = models.CharField(max_length=100)
class UserAddForm(forms.ModelForm):
password1 = forms.CharField(widget=forms.PasswordInput(attrs=attrs_dict,), label=_(u'пароль'))
password2 = forms.CharField(widget=forms.PasswordInput(attrs=attrs_dict,), label=_(u'пароль (повтор)'))
class Meta:
model = UserProfile
exclude = ('last_login', 'user_permissions','date_joined', 'is_staff', 'is_active', 'is_superuser', 'groups', 'password', )
то при использовании в шаблоне
:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
</head>
<body>
{{ form.as_p }}
</body>
</html>
где {{ form }} экземпляр класса UserAddForm.
То в этом случаии будет сначала выводится все что относится к UserProfile а затем поля password1 password2. То есть например я хочу что бы поля password1 password2 следовали после поля определенного в User это поле username.
То есть в этом случаии уже нельзя использовать {{ form.as_p }} только {{ form.username}} {{ form.password1 }} и так далее . Тоесть нужно перечислять в порядке в каком я хочу выводить поля формы. Но я также и теряю при таком перечислении все определения что были заданы в классе формы (например уже не выводится label поля итд )
Как действовать в подобных случаях? то есть как задавать порядок вывода полей класса а не в шаблоне?
И второе правильно ли изменять порядок расположения полей во встроенных классах Джанги таких как User?
Спасибо