以下mixins用于构建Django的编辑视图:
注意
如何将这些组合成编辑视图的示例,请参见Generic editing views的文档。
一个mixin类,提供创建和显示表单的功能。
Mixins
方法和属性
包含表单初始数据的字典。
要实例化的窗体类。
表单成功处理后重定向到的URL。
检索要实例化的表单类。默认情况下,form_class。
使用get_form_kwargs()实例化form_class的实例。如果不提供form_class,get_form_class()。
不再需要form_class参数。
构建实例化表单所需的关键字参数。
initial参数设置为get_initial()。如果请求是POST或PUT,请求数据(request.POST和request.FILES)将也可提供。
确定在表单成功验证后重定向到的网址。默认返回success_url。
重定向到get_success_url()。
呈现响应,提供无效形式作为上下文。
一个在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和form_class,则会忽略fields。
Mixins
方法和属性
字段名称列表。其解释方式与ModelForm的Meta.fields属性相同。
这是一个必需的属性,如果你是自动生成表单类(例如。使用model)。省略此属性将导致ImproperlyConfigured异常。
以前,省略此属性是允许的,并导致一个包含模型的所有字段的表单。
表单成功处理后重定向到的URL。
success_url可能包含字典字符串格式,它将根据对象的字段属性进行插值。例如,您可以使用success_url="/polls/{slug}/"重定向到模型上slug字段组成的URL。
添加了对新的基于大括号的Python格式化语法的支持。旧的%(slug)s占位符语法支持已弃用,将在Django 2.0中删除。
检索要实例化的表单类。如果提供form_class,那么将使用该类。否则,将使用与queryset或model关联的模型实例化ModelForm,具体取决于提供的属性。
将当前实例(self.object)添加到标准get_form_kwargs()。
确定在表单成功验证后重定向到的网址。如果提供,返回django.views.generic.edit.ModelFormMixin.success_url;否则,尝试使用对象的get_absolute_url()。
保存表单实例,设置视图的当前对象,然后重定向到get_success_url()。
呈现响应,提供无效形式作为上下文。
一个mixin,提供基本的HTTP GET和POST工作流。
注意
这被命名为“ProcessFormView”,并直接从django.views.generic.base.View继承,但如果独立使用则中断,因此它更多是混合。
延伸
方法和属性
构造一个表单,然后使用包含该表单的上下文来呈现响应。
构造表单,检查表单的有效性,并相应地处理。
启用对DELETE http操作的处理。
方法和属性
指定对象已成功删除时重定向到的网址。
success_url可能包含字典字符串格式,它将根据对象的字段属性进行插值。例如,您可以使用success_url="/parent/{parent_id}/"重定向到模型上parent_id字段组成的URL。
添加了对新的基于大括号的Python格式化语法的支持。旧的%(slug)s占位符语法支持已弃用,将在Django 2.0中删除。
返回当指定的对象已成功删除时重定向到的网址。默认返回success_url。
2015年5月13日