Spec-Zone.ru › Django 1.10

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

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

Вызывает 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().

Изменено в Django 1.9:

Создание формы было перенесено из этого метода в 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.10/ref/class-based-views/mixins-editing/

Spec-Zone.ru

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