编辑混入Link to this heading
以下混入用于构建 Django 的编辑视图。
FormMixinLink to this heading
- class django.views.generic.edit.FormMixinLink to this definition
一个提供创建和显示表单的设施的混入类。
混入
**方法和属性*
- initialLink to this definition
包含表单初始数据的字典。
- form_classLink to this definition
要实例化的表单类。
- success_urlLink to this definition
表单处理成功后重定向到的 URL。
- prefixLink to this definition
生成的表单的
prefix。
- get_initial()Link to this definition
检索表单的初始数据。默认情况下,返回
initial的副本。
- get_form_class()Link to this definition
检索要实例化的表单类。默认
form_class。
- get_form(form_class=None)Link to this definition
使用
get_form_kwargs()实例化form_class。如果没有提供form_class,将使用get_form_class()。
- get_form_kwargs()Link to this definition
构建实例化表单所需的关键字参数。
initial` `参数设置为 :meth:`.get_initial`。如果请求是 ``POST或PUT,还将提供请求数据(request.POST和request.FILES)。
- get_prefix()Link to this definition
- get_success_url()Link to this definition
当表单成功验证后,确定重定向到的 URL。默认返回
success_url。
- form_valid(form)Link to this definition
重定向到
get_success_url()。
- form_invalid(form)Link to this definition
渲染一个响应,提供无效的表单作为上下文。
- get_context_data(**kwargs)Link to this definition
调用
get_form()并将结果添加到名为 'form' 的上下文数据中。
ModelFormMixinLink to this heading
- class django.views.generic.edit.ModelFormMixinLink to this definition
一个在
ModelForms上工作的表单混入,而不是一个独立的表单。由于这是
SingleObjectMixin的一个子类,所以这个混入的实例可以访问model和queryset属性,描述ModelForm所操纵的对象类型。如果你同时指定了
fields和form_class属性,将引发ImproperlyConfigured异常。混入
**方法和属性*
- modelLink to this definition
一个模型类。可以明确提供,否则将通过检查
self.object或queryset来确定。
- fieldsLink to this definition
字段名的列表。这与
ModelForm的Meta.fields属性的解释方式相同。如果你是自动生成表单类,这个属性是必须的(比如使用
model)。忽略这个属性将导致ImproperlyConfigured异常。
- success_urlLink to this definition
表单处理成功后重定向到的 URL。
success_url可以包含字典字符串格式,它将被插入到对象的字段属性中。例如,你可以使用success_url="/polls/{slug}/"来重定向到一个由模型上的slug字段组成的 URL。
- get_form_class()Link to this definition
检索要实例化的表单类。如果提供了
form_class,将使用该类。否则,将使用与queryset相关联的模型,或与model实例化,这取决于提供的属性。
- get_form_kwargs()Link to this definition
将当前实例(
self.object)添加到标准get_form_kwargs()中。
- get_success_url()Link to this definition
当表单成功验证后,确定重定向到的 URL。如果提供了
django.views.generic.edit.ModelFormMixin.success_url,则返回django.views.generic.edit.ModelFormMixin.success_url;否则,尝试使用对象的get_absolute_url()。
- form_valid(form)Link to this definition
保存表单实例,为视图设置当前对象,并重定向到
get_success_url()。
- form_invalid(form)Link to this definition
渲染一个响应,提供无效的表单作为上下文。
ProcessFormViewLink to this heading
- class django.views.generic.edit.ProcessFormViewLink to this definition
一个提供基本 HTTP GET 和 POST 工作流程的混入。
扩展
**方法和属性*
- get(request, *args, **kwargs)Link to this definition
使用
get_context_data()创建的上下文来渲染响应。
- post(request, *args, **kwargs)Link to this definition
构造一个表单,检查表单的有效性,并进行相应的处理。
- put(*args, **kwargs)Link to this definition
PUT动作也会被处理,并将所有参数传递给post()。
DeletionMixinLink to this heading
- class django.views.generic.edit.DeletionMixinLink to this definition
启用对
DELETEHTTP 动作的处理。**方法和属性*
- success_urlLink to this definition
当指定对象被成功删除时,重定向到的网址。
success_url可以包含字典字符串格式,它将被插入到对象的字段属性中。例如,你可以使用success_url="/parent/{parent_id}/"重定向到一个模型上由parent_id字段组成的 URL。
- delete(request, *args, **kwargs)Link to this definition
检索目标对象并调用其
delete()方法,然后重定向到成功的 URL。
- get_success_url()Link to this definition
当指定对象被成功删除时,返回重定向到的 url。默认返回
success_url。