以下混音器用于构造Django的编辑视图:
备注
有关如何将它们组合到编辑视图中的示例,请参阅 常规编辑视图 .
FormMixin¶提供用于创建和显示窗体的工具的mixin类。
Mixins
方法和属性
包含窗体初始数据的字典。
要实例化的窗体类。
成功处理表单时重定向到的URL。
检索要实例化的窗体类。默认情况下 form_class 。
实例化的实例 form_class 使用 get_form_kwargs() .如果 form_class 没有提供 get_form_class() 将被使用。
生成实例化窗体所需的关键字参数。
这个 initial 参数设置为 get_initial() . 如果请求是 POST 或 PUT ,请求数据 (request.POST 和 request.FILES )也将提供。
确定成功验证表单时要重定向到的URL。退换商品 success_url 默认情况下。
重定向到 get_success_url() .
呈现响应,将无效表单作为上下文提供。
调用 get_form() 并将结果添加到名为“form”的上下文数据中。
ModelFormMixin¶一种形式混合器,提供与 ModelForm ,而不是独立的形式。
因为这是 SingleObjectMixin ,此mixin的实例可以访问 model 和 queryset 属性,描述 ModelForm 正在操纵。
如果您同时指定 fields 和 form_class 属性 ImproperlyConfigured 将引发异常。
Mixins
方法和属性
字段名称列表。这与 Meta.fields 属性 ModelForm .
如果要自动生成表单类(例如使用 model )省略此属性将导致 ImproperlyConfigured 例外。
成功处理表单时重定向到的URL。
success_url 可能包含字典字符串格式,将根据对象的字段属性进行插值。例如,您可以使用 success_url="/polls/{{slug}}/" 重定向到由 slug 模型上的字段。
检索要实例化的窗体类。如果 form_class 将使用该类。否则,A ModelForm 将使用与 queryset ,或与 model ,取决于提供的属性。
添加当前实例 (self.object )符合标准 get_form_kwargs() .
确定成功验证表单时要重定向到的URL。退换商品 django.views.generic.edit.ModelFormMixin.success_url 如果提供;否则,尝试使用 get_absolute_url() 对象的
保存窗体实例,设置视图的当前对象,并重定向到 get_success_url() .
呈现响应,将无效表单作为上下文提供。
ProcessFormView¶提供基本HTTP GET和POST工作流的混合。
备注
它名为“processformview”,直接从 django.views.generic.base.View ,但如果单独使用则会中断,因此它更像是一种混合。
Extends
方法和属性
使用创建的上下文呈现响应 get_context_data() .
构造一个表单,检查表单的有效性,并相应地处理它。
DeletionMixin¶启用对 DELETE HTTP操作。
方法和属性
成功删除指定对象时重定向到的URL。
success_url 可能包含字典字符串格式,将根据对象的字段属性进行插值。例如,您可以使用 success_url="/parent/{{parent_id}}/" 重定向到由 parent_id 模型上的字段。
检索目标对象并调用其 delete() 方法,然后重定向到成功的URL。
返回指定对象成功删除后重定向到的URL。退换商品 success_url 默认情况下。
5月 28, 2025