• 3.2
  • 5.0
  • 6.1
  • Версия документации: 3.1

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

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

Примечание

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

Формиксин

class django.views.generic.edit.FormMixin

Класс-примесь, предоставляющий возможности для создания и отображения форм.

Миксины

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

initial

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

form_class

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

success_url

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

prefix

prefix для сгенерированной формы.

get_initial()

Получите исходные данные для формы. По умолчанию возвращает копию initial.

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

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

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.fields ModelForm.

Это обязательный атрибут, если вы генерируете класс формы автоматически (например, с помощью модели). Отсутствие этого атрибута приведет к исключению 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)

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

put(*args, **kwargs)

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

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.

Back to Top