Spec-Zone.ru › Django 5.1

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

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

  • django.views.generic.edit.FormMixin
  • django.views.generic.edit.ModelFormMixin
  • django.views.generic.edit.ProcessFormView
  • django.views.generic.edit.DeletionMixin

Примечание

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

FormMixin

class django.views.generic.edit.FormMixin

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

Миксины

  • django.views.generic.base.ContextMixin

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

initial

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

form_class

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

success_url

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

prefix

Значение prefix для генерируемой формы.

get_initial()

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

get_form_class()

Получение класса формы для создания экземпляра. По умолчанию form_class.

get_form(form_class=None)

Создание экземпляра 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(form)

Перенаправляет на get_success_url().

form_invalid(form)

Возвращает ответ, предоставляя невалидную форму в контексте.

get_context_data(**kwargs)

Вызывает get_form() и добавляет результат в данные контекста с именем ‘form’.

ModelFormMixin

class django.views.generic.edit.ModelFormMixin

Смещение формы, которое работает с ModelForms, а не со стандартной формой.

Поскольку это подкласс SingleObjectMixin, экземпляры этого смещения имеют доступ к атрибутам model и queryset, описывающим тип объекта, с которым ModelForm взаимодействует.

Если вы укажете оба атрибута fields и form_class, будет поднято исключение ImproperlyConfigured.

Смещения

  • django.views.generic.edit.FormMixin
  • django.views.generic.detail.SingleObjectMixin

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

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

Сохраняет экземпляр формы, устанавливает текущий объект для представления и перенаправляет на get_success_url().

form_invalid(form)

Отображает ответ, предоставляя невалидную форму в качестве контекста.

ProcessFormView

class django.views.generic.edit.ProcessFormView

Смещение, предоставляющее базовый рабочий цикл HTTP GET и POST.

Примечание

Этот класс назван «ProcessFormView» и наследуется напрямую от django.views.generic.base.View, но перестаёт работать при использовании независимо, поэтому он больше похож на смещение.

Расширяет

  • 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

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

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

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.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.1/ref/class-based-views/mixins-editing/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API