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

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

Заметка

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

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() и добавляет результат к данным контекста под именем 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 )

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

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

Действие PUT также обрабатывается, но только передает все параметры в post() .

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 по умолчанию.

Copyright ©2021 All rights reserved