Spec-Zone.ru › Django 1.8

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

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

Аргумент 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)

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

ModelFormMixin

class django.views.generic.edit.ModelFormMixin

A form mixin that works on ModelForms, rather than a standalone form.

Since this is a subclass of SingleObjectMixin, instances of this mixin have access to the model and queryset attributes, describing the type of object that the ModelForm is manipulating.

If you specify both the fields and form_class attributes, an ImproperlyConfigured exception will be raised.

Previously if both fields and form_class were specified, fields was silently ignored.

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

Добавлена поддержка нового синтаксиса форматирования Python на основе фигурных скобок. Поддержка старого синтаксиса с %(slug)s заглушками устарела и будет удалена в Django 1.10.

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

Mixin, обеспечивающий базовый рабочий процесс HTTP GET и POST.

Примечание

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

Расширяет

  • django.views.generic.base.View

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

get(request, *args, **kwargs)

Создаёт форму, затем отображает ответ с контекстом, содержащим эту форму.

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

Добавлена поддержка нового синтаксиса форматирования Python на основе фигурных скобок. Поддержка старого синтаксиса с %(slug)s заглушками устарела и будет удалена в Django 1.10.

get_success_url()

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

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

Spec-Zone.ru

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