Редактирование миксинов

Следующие миксины используются для создания представлений редактирования Django:

Примечание

Примеры того, как они объединяются в представления редактирования, можно найти в документации по общим представлениям редактирования .

FormMixin

класс django.views.generic.edit.FormMixin

Класс миксина, который предоставляет средства для создания и отображения форм.

Миксины

Методы и атрибуты

initial

Словарь, содержащий исходные данные для формы.

form_class

Класс формы для создания экземпляра.

success_url

URL-адрес для перенаправления после успешной обработки формы.

prefix

Для prefixсозданной формы.

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_prefix()

Определите prefixдля созданной формы. Возврат prefixпо умолчанию.

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 )

Создает форму, проверяет ее на действительность и обрабатывает ее соответствующим образом.

put( * аргументы , ** kwargs )

PUTДействие также обрабатываются и передает все параметры через к post().

DeletionMixin

класс django.views.generic.edit.DeletionMixin

Включает обработку действия DELETEhttp.

Методы и атрибуты

success_url

URL-адрес для перенаправления после успешного удаления назначенного объекта.

success_urlможет содержать форматирование строки словаря, которое будет интерполировано по атрибутам поля объекта. Например, вы можете использовать success_url="/parent/{parent_id}/"для перенаправления на URL-адрес, составленный вне parent_idполя модели.

delete( запрос , * аргументы , ** kwargs )

Извлекает целевой объект и вызывает его delete()метод, а затем перенаправляет на успешный URL-адрес.

get_success_url()

Возвращает URL-адрес для перенаправления, когда назначенный объект был успешно удален. Возврат success_urlпо умолчанию.

Copyright ©2021 All rights reserved