Редактирование классов миксинов ¶
Следующие классы миксинов используются для создания представлений редактирования Django:
django.views.generic.edit.FormMixin
django.views.generic.edit.ModelFormMixin
django.views.generic.edit.ProcessFormView
django.views.generic.edit.DeletionMixin
Заметка
Примеры того, как эти классы объединяются для формирования представлений редактирования, можно найти в документации Generic Edit Views .
FormMixin
¶
-
класс
django.views.generic.edit.
FormMixin
¶ Класс миксина, предоставляющий инструменты для создания и отображения форм.
Классы миксинов
Методы и атрибуты
-
initial
¶ Словарь, содержащий исходные данные формы.
-
form_class
¶ Класс формы, для которого нужно создать экземпляр.
-
success_url
¶ URL-адрес для перенаправления ответа при успешной обработке формы.
-
get_initial
() ¶ Извлекает исходные данные для формы. По умолчанию этот метод возвращает копию
initial
.
-
get_form_class
() ¶ Извлекает класс формы, для которого нужно создать экземпляр. По умолчанию
form_class
.
-
get_form
( form_class = Нет ) ¶ Создайте экземпляр
form_class
использованияget_form_kwargs()
. Еслиform_class
не указано,get_form_class()
который будет использоваться.
-
get_form_kwargs
() ¶ Создает именованные параметры, необходимые для создания экземпляра формы.
Параметр
initial
установлен наget_initial()
. Если запрос имеет типPOST
илиPUT
, также будут предоставлены данные для запроса (request.POST
иrequest.FILES
).
-
get_success_url
() ¶ Определяет URL-адрес для перенаправления после успешной проверки формы. Возврат
success_url
по умолчанию.
-
form_valid
( форма ) ¶ Перенаправляет на
get_success_url()
.
-
form_invalid
( форма ) ¶ Выдает ответ, помещая недопустимую форму в контекст.
-
get_context_data
( ** kwargs ) ¶ Вызывает
get_form()
и добавляет результат к данным контекста под именемform
.
-
ModelFormMixin
¶
-
класс
django.views.generic.edit.
ModelFormMixin
¶ Класс миксина форм, который работает с
ModelForms
формами, а не с отдельными формами.Поскольку это подкласс
SingleObjectMixin
, экземпляры этого класса миксина имеют доступ к атрибутамmodel
иqueryset
описывают тип объекта, которымModelForm
манипулирует форма .Если вы установили как
fields
и атрибутыform_class
, исключениеImproperlyConfigured
генерируется.Классы миксинов
Методы и атрибуты
-
model
¶ Класс модели. Может быть указано явно, в противном случае это будет определено путем изучения
self.object
илиqueryset
.
-
fields
¶ Список имен полей. Этот атрибут интерпретируется так же, как атрибут
Meta.fields
классаModelForm
.Это обязательный атрибут, если вы автоматически генерируете класс формы (например, используя
model
). При отсутствии этого атрибута создается исключениеImproperlyConfigured
.
-
success_url
¶ URL-адрес для перенаправления ответа при успешной обработке формы.
success_url
может содержать строки формата словарного типа, которые будут заменены атрибутами поля объекта. Например, вы можете использоватьsuccess_url="/polls/{slug}/"
для перенаправления на URL-адрес, составленный из поляslug
шаблона.
-
get_form_class
() ¶ Извлекает класс формы, для которого нужно создать экземпляр. Если
form_class
определено, будет использоваться этот класс. В противном случае экземпляр формыModelForm
будет создан на основе шаблона, связанного с содержимымqueryset
илиmodel
, в зависимости от установленного атрибута.
-
get_form_kwargs
() ¶ Добавляет текущий экземпляр (
self.object
) к стандартному содержимомуget_form_kwargs()
.
-
get_success_url
() ¶ Определяет URL-адрес для перенаправления после успешной проверки формы. Возвращает,
django.views.generic.edit.ModelFormMixin.success_url
если определено; в противном случае попробуйте использоватьget_absolute_url()
значение объекта.
-
form_valid
( форма ) ¶ Сохраняет экземпляр формы, устанавливает текущий объект в представлении и перенаправляет на
get_success_url()
.
-
form_invalid
( форма ) ¶ Выдает ответ, помещая недопустимую форму в контекст.
-
ProcessFormView
¶
-
класс
django.views.generic.edit.
ProcessFormView
¶ Класс миксина, который обеспечивает обычную обработку потока HTTP-запросов GET и POST.
Заметка
Этот класс назван
ProcessFormView
и наследуется напрямую от негоdjango.views.generic.base.View
, но его нельзя использовать независимо, поэтому он считается классом миксина.Расширяет
Методы и атрибуты
-
get
( запрос , * аргументы , ** kwargs ) ¶ Производит ответ, используя контекст, созданный с помощью
get_context_data()
.
-
post
( запрос , * аргументы , ** kwargs ) ¶ Создает форму, проверяет действительность формы и обрабатывает ее соответствующим образом.
-
DeletionMixin
¶
-
класс
django.views.generic.edit.
DeletionMixin
¶ Позволяет управлять действием http
DELETE
.Методы и атрибуты
-
success_url
¶ URL-адрес для перенаправления после успешного удаления затронутого объекта.
success_url
может содержать строки формата словарного типа, которые будут заменены атрибутами поля объекта. Например, вы можете использоватьsuccess_url="/parent/{parent_id}/"
для перенаправления на URL-адрес, составленный из поляparent_id
шаблона.
-
delete
( запрос , * аргументы , ** kwargs ) ¶ Извлекает целевой объект и вызывает его метод
delete()
, а затем перенаправляет на успешный URL-адрес.
-
get_success_url
() ¶ Возвращает URL-адрес для перенаправления после успешного удаления затронутого объекта. Возврат
success_url
по умолчанию.
-