{"title":"Vues génériques d’édition","version":"6.1","locale":"fr","docname":"ref/class-based-views/generic-editing","url":"/fr/6.1/ref/class-based-views/generic-editing/","canonical":"https://djangodocs.dev/fr/6.1/ref/class-based-views/generic-editing/","summary":"Les vues suivantes sont décrites sur cette page et fournissent une base pour l’édition de contenu : django.views.generic.edit.FormView…","html":"<h1>Vues génériques d’édition<a class=\"heading-anchor\" href=\"#generic-editing-views\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Les vues suivantes sont décrites sur cette page et fournissent une base pour l’édition de contenu :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.FormView\" title=\"django.views.generic.edit.FormView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.FormView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.CreateView\" title=\"django.views.generic.edit.CreateView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.CreateView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.UpdateView\" title=\"django.views.generic.edit.UpdateView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.UpdateView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.DeleteView\" title=\"django.views.generic.edit.DeleteView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.DeleteView</span></code></a></p></li>\n</ul>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">Voir aussi</p>\n<p><a class=\"reference internal\" href=\"/fr/6.1/ref/contrib/messages/\"><span class=\"doc\">L’infrastructure des messages</span></a> contient class:~django.contrib.messages.views.SuccessMessageMixin qui facilite la production de messages suite aux soumissions réussies de formulaires.</p>\n</aside>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Certains exemples de cette page partent du principe qu’un modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">Author</span></code> a été défini comme dans le fichier <code class=\"docutils literal notranslate\"><span class=\"pre\">myapp/models.py</span></code> suivant :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.db</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">models</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">reverse</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Author</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">get_absolute_url</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"n\">reverse</span><span class=\"p\">(</span><span class=\"s2\">&quot;author-detail&quot;</span><span class=\"p\">,</span> <span class=\"n\">kwargs</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;pk&quot;</span><span class=\"p\">:</span> <span class=\"bp\">self</span><span class=\"o\">.</span><span class=\"n\">pk</span><span class=\"p\">})</span>\n</code></pre></div>\n</aside>\n<section id=\"formview\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">FormView</span></code><a class=\"heading-anchor\" href=\"#formview\"><span class=\"visually-hidden\">Lien vers cette rubrique</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.FormView\">\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\">FormView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.FormView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue qui affiche un formulaire. En cas d’erreur, le formulaire est ré-affiché avec les erreurs de validation rencontrées ; en cas de succès, l’utilisateur est redirigé vers la nouvelle URL.</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseFormView\" title=\"django.views.generic.edit.BaseFormView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.BaseFormView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.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>Exemple myapp/forms.py</strong> :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">forms</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">ContactForm</span><span class=\"p\">(</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Form</span><span class=\"p\">):</span>\n    <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">()</span>\n    <span class=\"n\">message</span> <span class=\"o\">=</span> <span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">widget</span><span class=\"o\">=</span><span class=\"n\">forms</span><span class=\"o\">.</span><span class=\"n\">Textarea</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">send_email</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"c1\"># send email using the self.cleaned_data dictionary</span>\n        <span class=\"k\">pass</span>\n</code></pre></div>\n<p><strong>Exemple myapp/views.py</strong> :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">myapp.forms</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">ContactForm</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic.edit</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">FormView</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">ContactFormView</span><span class=\"p\">(</span><span class=\"n\">FormView</span><span class=\"p\">):</span>\n    <span class=\"n\">template_name</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;contact.html&quot;</span>\n    <span class=\"n\">form_class</span> <span class=\"o\">=</span> <span class=\"n\">ContactForm</span>\n    <span class=\"n\">success_url</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;/thanks/&quot;</span>\n\n    <span class=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">form_valid</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"n\">form</span><span class=\"p\">):</span>\n        <span class=\"c1\"># This method is called when valid form data has been POSTed.</span>\n        <span class=\"c1\"># It should return an HttpResponse.</span>\n        <span class=\"n\">form</span><span class=\"o\">.</span><span class=\"n\">send_email</span><span class=\"p\">()</span>\n        <span class=\"k\">return</span> <span class=\"nb\">super</span><span class=\"p\">()</span><span class=\"o\">.</span><span class=\"n\">form_valid</span><span class=\"p\">(</span><span class=\"n\">form</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Exemple myapp/contact.html</strong> :</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Send message&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseFormView\">\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\">BaseFormView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseFormView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue de base pour l’affichage d’un formulaire. Elle n’est pas conçue pour être utilisée directement, mais plutôt comme classe parente pour <a class=\"reference internal\" href=\"#django.views.generic.edit.FormView\" title=\"django.views.generic.edit.FormView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.FormView</span></code></a> ou d’autres vues affichant un formulaire.</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.1/ref/class-based-views/mixins-editing/#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</ul>\n</dd></dl>\n\n</section>\n<section id=\"createview\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">CreateView</span></code><a class=\"heading-anchor\" href=\"#createview\"><span class=\"visually-hidden\">Lien vers cette rubrique</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.CreateView\">\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\">CreateView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue qui affiche un formulaire permettant la création d’objet, et qui ré-affiche le formulaire en cas d’erreurs de validation. En cas de succès, l’objet est enregistré.</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.detail.SingleObjectTemplateResponseMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseCreateView\" title=\"django.views.generic.edit.BaseCreateView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.BaseCreateView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.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<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.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>Attributs</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.CreateView.template_name_suffix\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_name_suffix</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView.template_name_suffix\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>La page <code class=\"docutils literal notranslate\"><span class=\"pre\">CreateView</span></code> affichée lors d’une requête <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> utilise <code class=\"docutils literal notranslate\"><span class=\"pre\">'_form'</span></code> comme valeur de <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name_suffix</span></code>. Par exemple, en modifiant cet attribut à <code class=\"docutils literal notranslate\"><span class=\"pre\">'_create_form'</span></code> pour une vue créant des objets pour le modèle d’exemple <code class=\"docutils literal notranslate\"><span class=\"pre\">Author</span></code>, le contenu par défaut de <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> serait <code class=\"docutils literal notranslate\"><span class=\"pre\">'myapp/author_create_form.html'</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.CreateView.object\">\n<span class=\"sig-name descname\"><span class=\"pre\">object</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.CreateView.object\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Lors de l’utilisation de la vue <code class=\"docutils literal notranslate\"><span class=\"pre\">CreateView</span></code>, vous avez accès à <code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>, qui constitue l’objet en cours de création. Si l’objet n’a pas encore été créé, sa valeur sera <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</dd></dl>\n\n<p><strong>Exemple myapp/views.py</strong> :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic.edit</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">CreateView</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">myapp.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Author</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">AuthorCreateView</span><span class=\"p\">(</span><span class=\"n\">CreateView</span><span class=\"p\">):</span>\n    <span class=\"n\">model</span> <span class=\"o\">=</span> <span class=\"n\">Author</span>\n    <span class=\"n\">fields</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Exemple myapp/author_form.html</strong> :</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Save&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseCreateView\">\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\">BaseCreateView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseCreateView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue de base pour la création d’une instance de nouvel objet. Elle n’est pas conçue pour être utilisée directement, mais plutôt comme classe parente pour <a class=\"reference internal\" href=\"#django.views.generic.edit.CreateView\" title=\"django.views.generic.edit.CreateView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.CreateView</span></code></a>.</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.1/ref/class-based-views/mixins-editing/#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</ul>\n<p><strong>Méthodes</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseCreateView.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.BaseCreateView.get\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Définit l’instance d’objet actuelle (<code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>) à <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseCreateView.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.BaseCreateView.post\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Définit l’instance d’objet actuelle (<code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>) à <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"updateview\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateView</span></code><a class=\"heading-anchor\" href=\"#updateview\"><span class=\"visually-hidden\">Lien vers cette rubrique</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.UpdateView\">\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\">UpdateView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue qui affiche un formulaire permettant l’édition d’un objet existant, qui ré-affiche le formulaire en cas d’erreurs de validation et qui enregistre les modifications de l’objet s’il n’y a pas d’erreur. Cette vue utilise un formulaire généré automatiquement à partir de la classe de l’objet de modèle (sauf si une classe de formulaire a été explicitement indiquée).</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.detail.SingleObjectTemplateResponseMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseUpdateView\" title=\"django.views.generic.edit.BaseUpdateView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.BaseUpdateView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.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<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.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>Attributs</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.UpdateView.template_name_suffix\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_name_suffix</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView.template_name_suffix\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>La page <code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateView</span></code> affichée lors d’une requête <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> utilise <code class=\"docutils literal notranslate\"><span class=\"pre\">'_form'</span></code> comme valeur de <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name_suffix</span></code>. Par exemple, en modifiant cet attribut à <code class=\"docutils literal notranslate\"><span class=\"pre\">'_update_form'</span></code> pour une vue mettant à jour des objets pour le modèle d’exemple <code class=\"docutils literal notranslate\"><span class=\"pre\">Author</span></code>, le contenu par défaut de <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> serait <code class=\"docutils literal notranslate\"><span class=\"pre\">'myapp/author_update_form.html'</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.UpdateView.object\">\n<span class=\"sig-name descname\"><span class=\"pre\">object</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.UpdateView.object\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Lors de l’utilisation de la vue <code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateView</span></code>, vous avez accès à <code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>, qui constitue l’objet en cours de mise à jour.</p>\n</dd></dl>\n\n<p><strong>Exemple myapp/views.py</strong> :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic.edit</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">UpdateView</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">myapp.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Author</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">AuthorUpdateView</span><span class=\"p\">(</span><span class=\"n\">UpdateView</span><span class=\"p\">):</span>\n    <span class=\"n\">model</span> <span class=\"o\">=</span> <span class=\"n\">Author</span>\n    <span class=\"n\">fields</span> <span class=\"o\">=</span> <span class=\"p\">[</span><span class=\"s2\">&quot;name&quot;</span><span class=\"p\">]</span>\n    <span class=\"n\">template_name_suffix</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;_update_form&quot;</span>\n</code></pre></div>\n<p><strong>Exemple myapp/author_update_form.html</strong> :</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form.as_p</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Update&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseUpdateView\">\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\">BaseUpdateView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseUpdateView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue de base pour la mise à jour d’une instance d’objet existante. Elle n’est pas conçue pour être utilisée directement, mais plutôt comme classe parente pour <a class=\"reference internal\" href=\"#django.views.generic.edit.UpdateView\" title=\"django.views.generic.edit.UpdateView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.UpdateView</span></code></a>.</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.1/ref/class-based-views/mixins-editing/#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</ul>\n<p><strong>Méthodes</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseUpdateView.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.BaseUpdateView.get\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Définit l’instance d’objet actuelle (<code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>).</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseUpdateView.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.BaseUpdateView.post\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Définit l’instance d’objet actuelle (<code class=\"docutils literal notranslate\"><span class=\"pre\">self.object</span></code>).</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"deleteview\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">DeleteView</span></code><a class=\"heading-anchor\" href=\"#deleteview\"><span class=\"visually-hidden\">Lien vers cette rubrique</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.DeleteView\">\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\">DeleteView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue qui affiche une page de confirmation et supprime un objet existant. L’objet est supprimé uniquement si la requête est de type <code class=\"docutils literal notranslate\"><span class=\"pre\">POST</span></code>. Si la vue est appelée via une requête <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code>, elle affiche la page de confirmation qui contient un formulaire pour une requête <code class=\"docutils literal notranslate\"><span class=\"pre\">POST</span></code> vers la même URL.</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.detail.SingleObjectTemplateResponseMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.base.TemplateResponseMixin</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.edit.BaseDeleteView\" title=\"django.views.generic.edit.BaseDeleteView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.BaseDeleteView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.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<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/generic-display/#django.views.generic.detail.BaseDetailView\" title=\"django.views.generic.detail.BaseDetailView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.detail.BaseDetailView</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/6.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<li><p><a class=\"reference internal\" href=\"/fr/6.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>Attributs</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeleteView.form_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">form_class</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView.form_class\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Hérité de <a class=\"reference internal\" href=\"#django.views.generic.edit.BaseDeleteView\" title=\"django.views.generic.edit.BaseDeleteView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BaseDeleteView</span></code></a>. La classe de formulaire qui sera utilisée pour confirmer la requête. Par défaut, <a class=\"reference internal\" href=\"/fr/6.1/ref/forms/api/#django.forms.Form\" title=\"django.forms.Form\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.forms.Form</span></code></a>, ce qui produira un formulaire vide toujours valide.</p>\n<p>En indiquant votre propre sous-classe de <code class=\"docutils literal notranslate\"><span class=\"pre\">Form</span></code>, vous pouvez ajouter des contraintes supplémentaires, comme par exemple une case à cocher de confirmation.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.DeleteView.template_name_suffix\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_name_suffix</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.DeleteView.template_name_suffix\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>La page <code class=\"docutils literal notranslate\"><span class=\"pre\">DeleteView</span></code> affichée lors d’une requête <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> utilise <code class=\"docutils literal notranslate\"><span class=\"pre\">'_confirm_delete'</span></code> comme valeur de <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name_suffix</span></code>. Par exemple, en modifiant cet attribut à <code class=\"docutils literal notranslate\"><span class=\"pre\">'_check_delete'</span></code> pour une vue supprimant des objets pour le modèle d’exemple <code class=\"docutils literal notranslate\"><span class=\"pre\">Author</span></code>, le contenu par défaut de <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> serait <code class=\"docutils literal notranslate\"><span class=\"pre\">'myapp/author_check_delete.html'</span></code>.</p>\n</dd></dl>\n\n<p><strong>Exemple myapp/views.py</strong> :</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.urls</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">reverse_lazy</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic.edit</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">DeleteView</span>\n<span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">myapp.models</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Author</span>\n\n\n<span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">AuthorDeleteView</span><span class=\"p\">(</span><span class=\"n\">DeleteView</span><span class=\"p\">):</span>\n    <span class=\"n\">model</span> <span class=\"o\">=</span> <span class=\"n\">Author</span>\n    <span class=\"n\">success_url</span> <span class=\"o\">=</span> <span class=\"n\">reverse_lazy</span><span class=\"p\">(</span><span class=\"s2\">&quot;author-list&quot;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p><strong>Exemple myapp/author_confirm_delete.html</strong> :</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">form</span> <span class=\"na\">method</span><span class=\"o\">=</span><span class=\"s\">&quot;post&quot;</span><span class=\"p\">&gt;</span><span class=\"cp\">{%</span> <span class=\"k\">csrf_token</span> <span class=\"cp\">%}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>Are you sure you want to delete &quot;<span class=\"cp\">{{</span> <span class=\"nv\">object</span> <span class=\"cp\">}}</span>&quot;?<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{{</span> <span class=\"nv\">form</span> <span class=\"cp\">}}</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">input</span> <span class=\"na\">type</span><span class=\"o\">=</span><span class=\"s\">&quot;submit&quot;</span> <span class=\"na\">value</span><span class=\"o\">=</span><span class=\"s\">&quot;Confirm&quot;</span><span class=\"p\">&gt;</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">form</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.edit.BaseDeleteView\">\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\">BaseDeleteView</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.edit.BaseDeleteView\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Une vue de base pour la suppression d’une instance d’objet. Elle n’est pas conçue pour être utilisée directement, mais plutôt comme classe parente pour <a class=\"reference internal\" href=\"#django.views.generic.edit.DeleteView\" title=\"django.views.generic.edit.DeleteView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.edit.DeleteView</span></code></a>.</p>\n<p><strong>Ancêtres (MRO)</strong></p>\n<p>Cette vue hérite des méthodes et des attributs des vues suivantes :</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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<li><p><a class=\"reference internal\" href=\"/fr/6.1/ref/class-based-views/mixins-editing/#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=\"/fr/6.1/ref/class-based-views/generic-display/#django.views.generic.detail.BaseDetailView\" title=\"django.views.generic.detail.BaseDetailView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.views.generic.detail.BaseDetailView</span></code></a></p></li>\n</ul>\n</dd></dl>\n\n</section>","rootId":"generic-editing-views","toc":[{"title":"FormView","anchor":"formview","children":[]},{"title":"CreateView","anchor":"createview","children":[]},{"title":"UpdateView","anchor":"updateview","children":[]},{"title":"DeleteView","anchor":"deleteview","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/6.1/ref/"},{"docname":"ref/class-based-views/index","title":"API des vues intégrées fondées sur les classes","url":"/fr/6.1/ref/class-based-views/"}],"prev":{"docname":"ref/class-based-views/generic-display","title":"Vues génériques d’affichage","url":"/fr/6.1/ref/class-based-views/generic-display/"},"next":{"docname":"ref/class-based-views/generic-date-based","title":"Vues génériques basées sur les dates","url":"/fr/6.1/ref/class-based-views/generic-date-based/"},"formats":{"html":"/fr/6.1/ref/class-based-views/generic-editing/","markdown":"/fr/6.1/ref/class-based-views/generic-editing.md","json":"/fr/6.1/ref/class-based-views/generic-editing.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/class-based-views/generic-editing.txt","official":"https://docs.djangoproject.com/fr/6.1/ref/class-based-views/generic-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","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}