编辑混音

以下混音器用于构造Django的编辑视图:

备注

有关如何将它们组合到编辑视图中的示例,请参阅 常规编辑视图 .

FormMixin

class django.views.generic.edit.FormMixin

提供用于创建和显示窗体的工具的mixin类。

Mixins

方法和属性

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() . 如果请求是 POSTPUT ,请求数据 (request.POSTrequest.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 ,此mixin的实例可以访问 modelqueryset 属性,描述 ModelForm 正在操纵。

如果您同时指定 fieldsform_class 属性 ImproperlyConfigured 将引发异常。

Mixins

方法和属性

model

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

fields

字段名称列表。这与 Meta.fields 属性 ModelForm .

如果要自动生成表单类(例如使用 model )省略此属性将导致 ImproperlyConfigured 例外。

success_url

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

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

get_form_class()

检索要实例化的窗体类。如果 form_class 将使用该类。否则,A 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(form)

呈现响应,将无效表单作为上下文提供。

ProcessFormView

class django.views.generic.edit.ProcessFormView

提供基本HTTP GET和POST工作流的混合。

备注

它名为“processformview”,直接从 django.views.generic.base.View ,但如果单独使用则会中断,因此它更像是一种混合。

Extends

方法和属性

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}}/" 重定向到由 parent_id 模型上的字段。

delete(request, *args, **kwargs)

检索目标对象并调用其 delete() 方法,然后重定向到成功的URL。

get_success_url()

返回指定对象成功删除后重定向到的URL。退换商品 success_url 默认情况下。