РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
405 of 818 menu

Атрибут fields

Атрибут fields используется для указания порядка полей при рендеринге формы. По умолчанию поля отображаются в том порядке, в котором они объявлены в классе формы. Однако с помощью атрибута fields можно явно задать последовательность полей, а также включить или исключить определенные поля из отображения.

Синтаксис

class MyForm(forms.Form): field1 = forms.CharField() field2 = forms.CharField() field3 = forms.CharField() fields = ['field2', 'field1', 'field3']

Пример

Создадим форму регистрации с тремя полями и зададим порядок их отображения с помощью атрибута fields:

from django import forms class RegistrationForm(forms.Form): password = forms.CharField(widget=forms.PasswordInput) email = forms.EmailField() username = forms.CharField(max_length=100) fields = ['username', 'email', 'password']

Результат отображения полей в указанном порядке:

"Порядок полей: username, email, password"

Пример

Используем атрибут fields для исключения поля из отображения. Для этого просто не включаем его в список:

from django import forms class UserProfileForm(forms.Form): first_name = forms.CharField(max_length=50) last_name = forms.CharField(max_length=50) email = forms.EmailField() password = forms.CharField(widget=forms.PasswordInput) confirm_password = forms.CharField(widget=forms.PasswordInput) fields = ['first_name', 'last_name', 'email']

В результате поля password и confirm_password не будут отображаться при рендеринге формы:

"Отображаются поля: first_name, last_name, email"

Пример

Используем fields для сортировки полей в алфавитном порядке независимо от объявления:

from django import forms class ContactForm(forms.Form): message = forms.CharField(widget=forms.Textarea) subject = forms.CharField(max_length=200) sender = forms.EmailField() cc_myself = forms.BooleanField(required=False) fields = ['cc_myself', 'message', 'sender', 'subject']

Поля будут отображаться в следующем порядке:

"Порядок полей: cc_myself, message, sender, subject"

Смотрите также

  • класс Form,
    базовый класс для создания форм
  • метод is_valid,
    выполняет валидацию данных формы
  • атрибут cleaned_data,
    содержит проверенные и очищенные данные формы
  • атрибут errors,
    содержит ошибки валидации формы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить