Spec-Zone.ru › Django 2.0

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

Следующие миксины используются для построения представлений 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.

Смешивания (mixins)

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

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

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

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

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

success_url

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

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

get_success_url()

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

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

Spec-Zone.ru

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