{"title":"Editing mixins","version":"2.1","locale":"pt-br","docname":"ref/class-based-views/mixins-editing","url":"/pt-br/2.1/ref/class-based-views/mixins-editing/","canonical":"https://djangodocs.dev/pt-br/2.1/ref/class-based-views/mixins-editing/","summary":"The following mixins are used to construct Django’s editing views: django.views.generic.edit.FormMixin django.views.generic.edit.ModelFormMixin…","html":"<h1>Editing mixins<a class=\"heading-anchor\" href=\"#editing-mixins\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>The following mixins are used to construct Django’s editing views:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.FormMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.ModelFormMixin\" title=\"django.views.generic.edit.ModelFormMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.ModelFormMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.ProcessFormView\" title=\"django.views.generic.edit.ProcessFormView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.ProcessFormView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.DeletionMixin\" title=\"django.views.generic.edit.DeletionMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.DeletionMixin</span></code></a></p></li>\n</ul>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Nota</p>\n<p>Examples of how these are combined into editing views can be found at\nthe documentation on <a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/generic-editing/\"><span class=\"doc\">Views de edição genérica</span></a>.</p>\n</aside>\n<section id=\"formmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">FormMixin</span></code><a class=\"heading-anchor\" href=\"#formmixin\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">FormMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A mixin class that provides facilities for creating and displaying forms.</p>\n<p><strong>Mixins</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-simple/#django.views.generic.base.ContextMixin\" title=\"django.views.generic.base.ContextMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.ContextMixin</span></code></a></p></li>\n</ul>\n<p><strong>Métodos e Atributos</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.initial\">\n<span class=\"sig-name descname\"><span class=\"pre\">initial</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.initial\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Um dicionário contendo dados iniciais para o formulário.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.form_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_class</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.form_class\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A classe do “form” para instanciar.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">success_url</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.success_url\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A URL de redirecionamento para quando o “form” for processador com sucesso.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.prefix\">\n<span class=\"sig-name descname\"><span class=\"pre\">prefix</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.prefix\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"/pt-br/2.1/ref/forms/api/#django.forms.Form.prefix\" title=\"django.forms.Form.prefix\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">prefix</span></code></a> for the generated form.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_initial\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_initial</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_initial\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Retrieve initial data for the form. By default, returns a copy of\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.initial\" title=\"django.views.generic.edit.FormMixin.initial\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">initial</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_form_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_class</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_form_class\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Retrieve the form class to instantiate. By default\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.form_class\" title=\"django.views.generic.edit.FormMixin.form_class\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">form_class</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_form\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form_class</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_form\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Instantiate an instance of <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></code> using\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form_kwargs\" title=\"django.views.generic.edit.FormMixin.get_form_kwargs\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form_kwargs()</span></code></a>.\nIf <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></code> isn’t provided <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form_class\" title=\"django.views.generic.edit.FormMixin.get_form_class\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form_class()</span></code></a> will be used.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_form_kwargs\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_kwargs</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_form_kwargs\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Build the keyword arguments required to instantiate the form.</p>\n<p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">initial</span></code> argument is set to <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_initial\" title=\"django.views.generic.edit.FormMixin.get_initial\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_initial()</span></code></a>. If the\nrequest is a <code class=\"docutils literal notranslate\"><span class=\"pre\">POST</span></code> or <code class=\"docutils literal notranslate\"><span class=\"pre\">PUT</span></code>, the request data (<code class=\"docutils literal notranslate\"><span class=\"pre\">request.POST</span></code>\nand <code class=\"docutils literal notranslate\"><span class=\"pre\">request.FILES</span></code>) will also be provided.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_prefix\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_prefix</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_prefix\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Determine the <a class=\"reference internal\" href=\"/pt-br/2.1/ref/forms/api/#django.forms.Form.prefix\" title=\"django.forms.Form.prefix\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">prefix</span></code></a> for the generated form.\nReturns <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.prefix\" title=\"django.views.generic.edit.FormMixin.prefix\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">prefix</span></code></a> by default.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_success_url</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_success_url\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Determine the URL to redirect to when the form is successfully\nvalidated. Returns\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.success_url\" title=\"django.views.generic.edit.FormMixin.success_url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">success_url</span></code></a> by default.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.form_valid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_valid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.form_valid\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Redirects to\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_success_url\" title=\"django.views.generic.edit.FormMixin.get_success_url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_success_url()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.form_invalid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_invalid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.form_invalid\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renders a response, providing the invalid form as context.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.FormMixin.get_context_data\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_context_data</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormMixin.get_context_data\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Calls <a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form\" title=\"django.views.generic.edit.FormMixin.get_form\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form()</span></code></a> and adds the result to the context data with the\nname ‘form’.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"modelformmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelFormMixin</span></code><a class=\"heading-anchor\" href=\"#modelformmixin\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ModelFormMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A form mixin that works on <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForms</span></code>, rather than a standalone form.</p>\n<p>Since this is a subclass of\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SingleObjectMixin</span></code></a>, instances of this\nmixin have access to the\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.model\" title=\"django.views.generic.detail.SingleObjectMixin.model\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">model</span></code></a> and\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset\" title=\"django.views.generic.detail.SingleObjectMixin.queryset\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queryset</span></code></a> attributes,\ndescribing the type of object that the <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code> is manipulating.</p>\n<p>If you specify both the\n<a class=\"reference internal\" href=\"#django.views.generic.edit.ModelFormMixin.fields\" title=\"django.views.generic.edit.ModelFormMixin.fields\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">fields</span></code></a> and\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.form_class\" title=\"django.views.generic.edit.FormMixin.form_class\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">form_class</span></code></a> attributes, an\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ImproperlyConfigured</span></code></a> exception will be\nraised.</p>\n<p><strong>Mixins</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin\" title=\"django.views.generic.edit.FormMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.FormMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.detail.SingleObjectMixin</span></code></a></p></li>\n</ul>\n<p><strong>Métodos e Atributos</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.model\">\n<span class=\"sig-name descname\"><span class=\"pre\">model</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.model\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A model class. Can be explicitly provided, otherwise will be determined\nby examining <code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code> or\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset\" title=\"django.views.generic.detail.SingleObjectMixin.queryset\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queryset</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.fields\">\n<span class=\"sig-name descname\"><span class=\"pre\">fields</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.fields\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A list of names of fields. This is interpreted the same way as the\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.fields</span></code> attribute of <a class=\"reference internal\" href=\"/pt-br/2.1/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code></a>.</p>\n<p>This is a required attribute if you are generating the form class\nautomatically (e.g. using <code class=\"docutils literal notranslate\"><span class=\"pre\">model</span></code>). Omitting this attribute will\nresult in an <a class=\"reference internal\" href=\"/pt-br/2.1/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ImproperlyConfigured</span></code></a>\nexception.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">success_url</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.success_url\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A URL de redirecionamento para quando o “form” for processador com sucesso.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">success_url</span></code> may contain dictionary string formatting, which\nwill be interpolated against the object’s field attributes. For\nexample, you could use <code class=\"docutils literal notranslate\"><span class=\"pre\">success_url=&quot;/polls/{slug}/&quot;</span></code> to\nredirect to a URL composed out of the <code class=\"docutils literal notranslate\"><span class=\"pre\">slug</span></code> field on a model.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.get_form_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_class</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.get_form_class\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Retrieve the form class to instantiate. If\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.form_class\" title=\"django.views.generic.edit.FormMixin.form_class\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">form_class</span></code></a> is provided,\nthat class will be used. Otherwise, a <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelForm</span></code> will be\ninstantiated using the model associated with the\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset\" title=\"django.views.generic.detail.SingleObjectMixin.queryset\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queryset</span></code></a>, or\nwith the <a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.model\" title=\"django.views.generic.detail.SingleObjectMixin.model\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">model</span></code></a>,\ndepending on which attribute is provided.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.get_form_kwargs\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_form_kwargs</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.get_form_kwargs\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Add the current instance (<code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>) to the standard\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_form_kwargs\" title=\"django.views.generic.edit.FormMixin.get_form_kwargs\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_form_kwargs()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.get_success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_success_url</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.get_success_url\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Determine the URL to redirect to when the form is successfully\nvalidated. Returns\n<a class=\"reference internal\" href=\"#django.views.generic.edit.ModelFormMixin.success_url\" title=\"django.views.generic.edit.ModelFormMixin.success_url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.ModelFormMixin.success_url</span></code></a> if it is\nprovided; otherwise, attempts to use the <code class=\"docutils literal notranslate\"><span class=\"pre\">get_absolute_url()</span></code> of the\nobject.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.form_valid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_valid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.form_valid\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Saves the form instance, sets the current object for the view, and\nredirects to\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_success_url\" title=\"django.views.generic.edit.FormMixin.get_success_url\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_success_url()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ModelFormMixin.form_invalid\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_invalid</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">form</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ModelFormMixin.form_invalid\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renders a response, providing the invalid form as context.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"processformview\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">ProcessFormView</span></code><a class=\"heading-anchor\" href=\"#processformview\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ProcessFormView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A mixin that provides basic HTTP GET and POST workflow.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Nota</p>\n<p>This is named ‘ProcessFormView’ and inherits directly from\n<a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.View</span></code></a>, but breaks if used\nindependently, so it is more of a mixin.</p>\n</aside>\n<p><strong>Extends</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/pt-br/2.1/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.View</span></code></a></p></li>\n</ul>\n<p><strong>Métodos e Atributos</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView.get\">\n<span class=\"sig-name descname\"><span class=\"pre\">get</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView.get\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renders a response using a context created with\n<a class=\"reference internal\" href=\"#django.views.generic.edit.FormMixin.get_context_data\" title=\"django.views.generic.edit.FormMixin.get_context_data\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_context_data()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView.post\">\n<span class=\"sig-name descname\"><span class=\"pre\">post</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView.post\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Constructs a form, checks the form for validity, and handles it\naccordingly.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.ProcessFormView.put\">\n<span class=\"sig-name descname\"><span class=\"pre\">put</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.ProcessFormView.put\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">PUT</span></code> action is also handled and just passes all parameters\nthrough to <a class=\"reference internal\" href=\"#django.views.generic.edit.ProcessFormView.post\" title=\"django.views.generic.edit.ProcessFormView.post\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">post()</span></code></a>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"deletionmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">DeletionMixin</span></code><a class=\"heading-anchor\" href=\"#deletionmixin\"><span class=\"visually-hidden\">Link para este cabeçalho</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">django.views.generic.edit.</span></span><span class=\"sig-name descname\"><span class=\"pre\">DeletionMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Enables handling of the <code class=\"docutils literal notranslate\"><span class=\"pre\">DELETE</span></code> http action.</p>\n<p><strong>Métodos e Atributos</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin.success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">success_url</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin.success_url\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The url to redirect to when the nominated object has been\nsuccessfully deleted.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">success_url</span></code> may contain dictionary string formatting, which will be\ninterpolated against the object’s field attributes. For example, you\ncould use <code class=\"docutils literal notranslate\"><span class=\"pre\">success_url=&quot;/parent/{parent_id}/&quot;</span></code> to redirect to a URL\ncomposed out of the <code class=\"docutils literal notranslate\"><span class=\"pre\">parent_id</span></code> field on a model.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin.delete\">\n<span class=\"sig-name descname\"><span class=\"pre\">delete</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">request</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin.delete\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Retrieves the target object and calls its <code class=\"docutils literal notranslate\"><span class=\"pre\">delete()</span></code> method, then\nredirects to the success URL.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeletionMixin.get_success_url\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_success_url</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeletionMixin.get_success_url\"><span class=\"visually-hidden\">Link para esta definição</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns the url to redirect to when the nominated object has been\nsuccessfully deleted. Returns\n<a class=\"reference internal\" href=\"#django.views.generic.edit.DeletionMixin.success_url\" title=\"django.views.generic.edit.DeletionMixin.success_url\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">success_url</span></code></a> by\ndefault.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>","rootId":"editing-mixins","toc":[{"title":"FormMixin","anchor":"formmixin","children":[]},{"title":"ModelFormMixin","anchor":"modelformmixin","children":[]},{"title":"ProcessFormView","anchor":"processformview","children":[]},{"title":"DeletionMixin","anchor":"deletionmixin","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Referência da API","url":"/pt-br/2.1/ref/"},{"docname":"ref/class-based-views/index","title":"API nativa de views baseadas em classes","url":"/pt-br/2.1/ref/class-based-views/"},{"docname":"ref/class-based-views/mixins","title":"Class-based views mixins","url":"/pt-br/2.1/ref/class-based-views/mixins/"}],"prev":{"docname":"ref/class-based-views/mixins-multiple-object","title":"Multiple object mixins","url":"/pt-br/2.1/ref/class-based-views/mixins-multiple-object/"},"next":{"docname":"ref/class-based-views/mixins-date-based","title":"Date-based mixins","url":"/pt-br/2.1/ref/class-based-views/mixins-date-based/"},"formats":{"html":"/pt-br/2.1/ref/class-based-views/mixins-editing/","markdown":"/pt-br/2.1/ref/class-based-views/mixins-editing.md","json":"/pt-br/2.1/ref/class-based-views/mixins-editing.json"},"source":"https://github.com/django/django/blob/stable/2.1.x/docs/ref/class-based-views/mixins-editing.txt","official":"https://docs.djangoproject.com/pt-br/2.1/ref/class-based-views/mixins-editing/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}