Editing mixins

以下mixins用于构建Django的编辑视图:

如何将这些组合成编辑视图的示例,请参见Generic editing views的文档。

FormMixin

django.views.generic.edit。 FormMixin T0> ¶ T1>

一个mixin类,提供创建和显示表单的功能。

混入

方法和属性

initial

包含表单初始数据的字典。

form_class

要实例化的Form类。

success_url

表单成功处理后重定向到的URL。

prefix

生成的表单的prefix

get_initial()

检索表单的初始数据。 默认情况下,返回initial的副本。

get_form_class()

检索要实例化的表单类。 默认情况下,form_class

get_form(form_class=None)

使用get_form_kwargs()实例化form_class的实例。 如果不提供form_classget_form_class()

get_form_kwargs()

构建实例化表单所需的关键字参数。

initial参数设置为get_initial() 如果请求是PUTPOST,请求数据(request.POSTrequest.FILES)将也可提供。

get_prefix()

为生成的表单确定prefix 默认返回prefix

get_success_url()

确定在表单成功验证后重定向到的网址。 默认返回success_url

form_valid(form)

重定向到get_success_url()

form_invalid(form)

呈现响应,提供无效形式作为上下文。

get_context_data T0>( ** kwargs T1>)¶ T2>

调用get_form(),并将结果添加到名称为“form”的上下文数据中。

ModelFormMixin

django.views.generic.edit。 ModelFormMixin T0> ¶ T1>

一个在ModelForms上工作的表单混合,而不是一个独立的表单。

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.

如果同时指定fieldsform_class属性,则会引发ImproperlyConfigured异常。

混入

方法和属性

model

模型类。 可以明确提供,否则将通过检查self.objectqueryset来确定。

fields

字段名称列表。 其解释方式与ModelFormMeta.fields属性相同。

如果您自动生成表单类(例如使用model),则这是必需的属性。 省略此属性将导致ImproperlyConfigured异常。

success_url

表单成功处理后重定向到的URL。

success_url可能包含字典字符串格式,它将根据对象的字段属性进行插值。 例如,您可以使用success_url="/polls/{slug}/"重定向到模型上slug字段组成的URL。

get_form_class()

检索要实例化的表单类。 如果提供form_class,那么将使用该类。 否则,将使用与querysetmodel关联的模型实例化ModelForm,具体取决于提供的属性。

get_form_kwargs()

将当前实例(self.object)添加到标准get_form_kwargs()

get_success_url()

确定在表单成功验证后重定向到的网址。 如果提供,返回django.views.generic.edit.ModelFormMixin.success_url;否则,尝试使用对象的get_absolute_url()

form_valid(form)

保存表单实例,设置视图的当前对象,然后重定向到get_success_url()

form_invalid()

呈现响应,提供无效形式作为上下文。

ProcessFormView

django.views.generic.edit。 ProcessFormView T0> ¶ T1>

一个mixin,提供基本的HTTP GET和POST工作流。

这被命名为“ProcessFormView”,并直接从django.views.generic.base.View继承,但如果独立使用则中断,因此它更多是混合。

扩展

方法和属性

get(request, *args, **kwargs)

使用使用get_context_data()创建的上下文呈现响应。

post(request, *args, **kwargs)

构造表单,检查表单的有效性,并相应地处理。

put(*args, **kwargs)

PUT操作也被处理,并且将所有参数传递到post()

DeletionMixin

django.views.generic.edit。 DeletionMixin T0> ¶ T1>

启用对DELETE http操作的处理。

方法和属性

success_url

指定对象已成功删除时重定向到的网址。

success_url可能包含字典字符串格式,它将根据对象的字段属性进行插值。 例如,您可以使用success_url="/parent/{parent_id}/"重定向到模型上parent_id字段组成的URL。

get_success_url()

返回当指定的对象已成功删除时重定向到的网址。 默认返回success_url