以下mixins用于构建Django的编辑视图:
django.views.generic.edit.FormMixin
django.views.generic.edit.ModelFormMixin
django.views.generic.edit.ProcessFormView
django.views.generic.edit.DeletionMixin
注
如何将这些组合成编辑视图的示例,请参见Generic editing views的文档。
FormMixin
¶django.views.generic.edit。
FormMixin T0> ¶ T1>
一个mixin类,提供创建和显示表单的功能。
混入
方法和属性
initial
¶包含表单初始数据的字典。
form_class
¶要实例化的Form类。
success_url
¶表单成功处理后重定向到的URL。
get_form_class
()¶检索要实例化的表单类。 默认情况下,form_class
。
get_form
(form_class=None)¶使用get_form_kwargs()
实例化form_class
的实例。
如果不提供form_class
,get_form_class()
。
get_form_kwargs
()¶构建实例化表单所需的关键字参数。
initial
参数设置为get_initial()
。 如果请求是PUT
或POST
,请求数据(request.POST
和request.FILES
)将也可提供。
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.
如果同时指定fields
和form_class
属性,则会引发ImproperlyConfigured
异常。
混入
方法和属性
fields
¶字段名称列表。 其解释方式与ModelForm
的Meta.fields
属性相同。
如果您自动生成表单类(例如使用model
),则这是必需的属性。 省略此属性将导致ImproperlyConfigured
异常。
success_url
¶表单成功处理后重定向到的URL。
success_url
可能包含字典字符串格式,它将根据对象的字段属性进行插值。 例如,您可以使用success_url="/polls/{slug}/"
重定向到模型上slug
字段组成的URL。
get_form_class
()¶检索要实例化的表单类。 如果提供form_class
,那么将使用该类。 否则,将使用与queryset
或model
关联的模型实例化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)¶构造表单,检查表单的有效性,并相应地处理。
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
。
2017年9月6日