以下混入用于构建 Django 的编辑视图。
Note
如何将这些视图组合成编辑视图的例子可以在 通用编辑视图 的文档中找到。
FormMixin
¶一个提供创建和显示表单的设施的混入类。
混入
方法和属性
包含表单初始数据的字典。
要实例化的表单类。
表单处理成功后重定向到的 URL。
检索要实例化的表单类。默认 form_class
。
使用 get_form_kwargs()
实例化 form_class
。如果没有提供 form_class
,将使用 get_form_class()
。
构建实例化表单所需的关键字参数。
initial
参数设置为 get_initial()
。如果请求是 POST
或 PUT
,还将提供请求数据(request.POST
和 request.FILES
)。
当表单成功验证后,确定重定向到的 URL。默认返回 success_url
。
重定向到 get_success_url()
。
渲染一个响应,提供无效的表单作为上下文。
调用 get_form()
并将结果添加到名为 'form' 的上下文数据中。
ModelFormMixin
¶A form mixin that provides facilities for working with a ModelForm
,
rather than a standalone form.
由于这是 SingleObjectMixin
的一个子类,所以这个混入的实例可以访问 model
和 queryset
属性,描述 ModelForm
所操纵的对象类型。
如果你同时指定了 fields
和 form_class
属性,将引发 ImproperlyConfigured
异常。
混入
方法和属性
字段名的列表。这与 ModelForm
的 Meta.fields
属性的解释方式相同。
如果你是自动生成表单类,这个属性是必须的(比如使用 model
)。忽略这个属性将导致 ImproperlyConfigured
异常。
表单处理成功后重定向到的 URL。
success_url
可以包含字典字符串格式,它将被插入到对象的字段属性中。例如,你可以使用 success_url="/polls/{slug}/"
来重定向到一个由模型上的 slug
字段组成的 URL。
检索要实例化的表单类。如果提供了 form_class
,将使用该类。否则,将使用与 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 工作流程的混入。
Note
这个命名为 'ProcessFormView',直接继承自 django.view.generic.base.View
,但如果独立使用就会中断,所以它更像是一个混入。
扩展
方法和属性
使用 get_context_data()
创建的上下文来渲染响应。
构造一个表单,检查表单的有效性,并进行相应的处理。
DeletionMixin
¶启用对 DELETE
HTTP 动作的处理。
方法和属性
当指定对象被成功删除时,重定向到的网址。
success_url
可以包含字典字符串格式,它将被插入到对象的字段属性中。例如,你可以使用 success_url="/parent/{parent_id}/"
重定向到一个模型上由 parent_id
字段组成的 URL。
检索目标对象并调用其 delete()
方法,然后重定向到成功的 URL。
当指定对象被成功删除时,返回重定向到的 url。默认返回 success_url
。
4月 27, 2025