Редактирование миксинов¶
Следующие миксины используются для создания представлений редактирования Django:
Примечание
Примеры того, как они объединяются в представления редактирования, можно найти в документации по адресу Общие представления редактирования.
Формиксин¶
- class django.views.generic.edit.FormMixin¶
Класс-примесь, предоставляющий возможности для создания и отображения форм.
Миксины
Методы и Атрибуты
- initial¶
Словарь, содержащий исходные данные для формы.
- form_class¶
Класс формы для создания экземпляра.
- success_url¶
URL-адрес, на который будет перенаправлено после успешной обработки формы.
- get_form_class()¶
Retrieve the form class to instantiate. By default
form_class.
- get_form(form_class=None)¶
Создайте экземпляр form_class, используя
get_form_kwargs(). Если form_class не указан, будет использоваться :meth:get_form_class.
- get_form_kwargs()¶
Создайте аргументы ключевого слова, необходимые для создания экземпляра формы.
Аргумент
initialимеет значениеget_initial(). Если запрос представляет собой POST или PUT, также будут предоставлены данные запроса (request.POST и request.FILES).
- get_success_url()¶
Определите URL-адрес для перенаправления при успешной проверке формы. По умолчанию возвращает
success_url.
- form_valid(form)¶
Перенаправляет на
get_success_url().
- form_invalid(form)¶
Отображает ответ, предоставляя недопустимую форму в качестве контекста.
- get_context_data(**kwargs)¶
Вызывает
get_form()и добавляет результат к данным контекста с именем form.
МодельФормиксин¶
- class django.views.generic.edit.ModelFormMixin¶
Миксин формы, который работает с ModelForms, а не с отдельной формой.
Поскольку это подкласс
SingleObjectMixin, экземпляры этого миксина имеют доступ к атрибутамmodelиqueryset, описывающим тип объекта, которыйModelFormманипулирует.Если вы укажете оба атрибута
fieldsиform_class, будет создано исключениеImproperlyConfigured.Миксины
Методы и Атрибуты
- model¶
Модельный класс. Может быть указано явно, в противном случае будет определено путем проверки
self.objectилиqueryset.
- fields¶
Список названий полей. Это интерпретируется так же, как атрибут
Meta.fieldsModelForm.Это обязательный атрибут, если вы генерируете класс формы автоматически (например, с помощью модели). Отсутствие этого атрибута приведет к исключению
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(form)¶
Сохраняет экземпляр формы, устанавливает текущий объект для представления и перенаправляет на
get_success_url().
- form_invalid(form)¶
Отображает ответ, предоставляя недопустимую форму в качестве контекста.
ProcessFormView¶
- class django.views.generic.edit.ProcessFormView¶
Миксин, обеспечивающий базовый рабочий процесс HTTP GET и POST.
Примечание
Он называется ProcessFormView и наследуется непосредственно от
django.views.generic.base.View, но ломается, если используется независимо, поэтому это скорее миксин.Наследуется от
Методы и Атрибуты
- get(request, *args, **kwargs)¶
Отображает ответ, используя контекст, созданный с помощью
get_context_data().
- post(request, *args, **kwargs)¶
Создает форму, проверяет ее на допустимость и обрабатывает ее соответствующим образом.
DeletionMixin¶
- class django.views.generic.edit.DeletionMixin¶
Включает обработку HTTP-действия
DELETE.Методы и Атрибуты
- success_url¶
URL-адрес, на который осуществляется перенаправление после успешного удаления назначенного объекта.
success_urlможет содержать форматирование словарной строки, которое будет интерполировано относительно атрибутов поля объекта. Например, вы можете использоватьsuccess_url="/parent/{parent_id}/"для перенаправления на URL-адрес, составленный из поляparent_idв модели.
- delete(request, *args, **kwargs)¶
Извлекает целевой объект и вызывает его метод delete(), затем перенаправляет на URL-адрес успеха.
- get_success_url()¶
Возвращает URL-адрес для перенаправления после успешного удаления назначенного объекта. По умолчанию возвращает
success_url.