Spec-Zone.ru › Django 1.11

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

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

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

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 модели.

get_success_url()

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

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

Spec-Zone.ru

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