Редактирование миксинов ¶
Следующие миксины используются для создания представлений редактирования Django:
django.views.generic.edit.FormMixin
django.views.generic.edit.ModelFormMixin
django.views.generic.edit.ProcessFormView
django.views.generic.edit.DeletionMixin
Примечание
Примеры того, как они объединяются в представления редактирования, можно найти в документации по общим представлениям редактирования .
FormMixin
¶
-
класс
django.views.generic.edit.
FormMixin
¶ Класс миксина, который предоставляет средства для создания и отображения форм.
Миксины
Методы и атрибуты
-
initial
¶ Словарь, содержащий исходные данные для формы.
-
form_class
¶ Класс формы для создания экземпляра.
-
success_url
¶ URL-адрес для перенаправления после успешной обработки формы.
-
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()
и добавляет результат к данным контекста с именем «форма».
-
ModelFormMixin
¶
-
класс
django.views.generic.edit.
ModelFormMixin
¶ Примесь формы, которая работает
ModelForms
, а не отдельная форма.Так как это подкласс
SingleObjectMixin
, экземпляры этого Mixin имеют доступ к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
¶ Включает обработку действия
DELETE
http.Методы и атрибуты
-
success_url
¶ URL-адрес для перенаправления после успешного удаления назначенного объекта.
success_url
может содержать форматирование строки словаря, которое будет интерполировано по атрибутам поля объекта. Например, вы можете использоватьsuccess_url="/parent/{parent_id}/"
для перенаправления на URL-адрес, составленный внеparent_id
поля модели.
-
delete
( запрос , * аргументы , ** kwargs ) ¶ Извлекает целевой объект и вызывает его
delete()
метод, а затем перенаправляет на успешный URL-адрес.
-
get_success_url
() ¶ Возвращает URL-адрес для перенаправления, когда назначенный объект был успешно удален. Возврат
success_url
по умолчанию.
-