{"title":"Mixins simples","version":"1.9","locale":"fr","docname":"ref/class-based-views/mixins-simple","url":"/fr/1.9/ref/class-based-views/mixins-simple/","canonical":"https://djangodocs.dev/fr/1.9/ref/class-based-views/mixins-simple/","summary":"ContextMixin Lien vers cette rubrique # class django.views.generic.base. ContextMixin Lien vers cette définition # Méthodes get_context_data ( ** kwargs ) Lien vers…","html":"<h1>Mixins simples<a class=\"heading-anchor\" href=\"#simple-mixins\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<section id=\"contextmixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">ContextMixin</span></code><a class=\"heading-anchor\" href=\"#contextmixin\"><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.base.ContextMixin\">\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.base.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ContextMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.ContextMixin\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><strong>Méthodes</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.ContextMixin.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.base.ContextMixin.get_context_data\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie un dictionnaire représentant le contexte de gabarit. Les paramètres nommés fournis vont servir à former le contexte renvoyé. Exemple d’utilisation :</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=\"k\">def</span><span class=\"w\"> </span><span class=\"nf\">get_context_data</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">,</span> <span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">):</span>\n    <span class=\"n\">context</span> <span class=\"o\">=</span> <span class=\"nb\">super</span><span class=\"p\">(</span><span class=\"n\">RandomNumberView</span><span class=\"p\">,</span> <span class=\"bp\">self</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">get_context_data</span><span class=\"p\">(</span><span class=\"o\">**</span><span class=\"n\">kwargs</span><span class=\"p\">)</span>\n    <span class=\"n\">context</span><span class=\"p\">[</span><span class=\"s1\">&#39;number&#39;</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">random</span><span class=\"o\">.</span><span class=\"n\">randrange</span><span class=\"p\">(</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">100</span><span class=\"p\">)</span>\n    <span class=\"k\">return</span> <span class=\"n\">context</span>\n</code></pre></div>\n<p>Le contexte de gabarit de toutes les vues génériques fondées sur les classes contiennent une variable <code class=\"docutils literal notranslate\"><span class=\"pre\">view</span></code> qui pointe dur l’instance <code class=\"docutils literal notranslate\"><span class=\"pre\">View</span></code>.</p>\n<aside class=\"admonition-use-alters-data-where-appropriate admonition\">\n<p class=\"admonition-title\">Utilisation de <code class=\"docutils literal notranslate\"><span class=\"pre\">alters_data</span></code> quand c’est nécessaire</p>\n<p>Notez que le fait d’avoir l’instance de vue dans le contexte du gabarit peut exposer des méthodes potentiellement dangereuses aux rédacteurs de gabarits. Pour éviter que de telles méthodes soient appelées à partir des gabarits, définissez  <code class=\"docutils literal notranslate\"><span class=\"pre\">alters_data=True</span></code> pour ces méthodes. Pour plus d’informations, lisez la documentation sur l”<a class=\"reference internal\" href=\"/fr/1.9/ref/templates/api/#alters-data-description\"><span class=\"std std-ref\">affichage d’un contexte de gabarit</span></a>.</p>\n</aside>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"templateresponsemixin\">\n<h2><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponseMixin</span></code><a class=\"heading-anchor\" href=\"#templateresponsemixin\"><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.base.TemplateResponseMixin\">\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.base.</span></span><span class=\"sig-name descname\"><span class=\"pre\">TemplateResponseMixin</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Fournit un mécanisme pour construire un objet <a class=\"reference internal\" href=\"/fr/1.9/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a>, à partir d’un contexte approprié. Le gabarit employé peut être configuré et peut être personnalisé ensuite par les sous-classes.</p>\n<p><strong>Attributs</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.template_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_name</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.template_name\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Le nom complet d’un gabarit à employer sous forme de chaîne de caractères. Si <code class=\"docutils literal notranslate\"><span class=\"pre\">template_name</span></code> n’est pas indiqué, une exception <a class=\"reference internal\" href=\"/fr/1.9/ref/exceptions/#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.core.exceptions.ImproperlyConfigured</span></code></a> est générée.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.template_engine\">\n<span class=\"sig-name descname\"><span class=\"pre\">template_engine</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.template_engine\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><aside class=\"version-note version-added\" data-version=\"1.8\">\n<p class=\"version-note-title\">New in Django 1.8</p></aside>\n<p>Le nom <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-TEMPLATES-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a> d’un moteur de gabarit à utiliser pour le chargement du gabarit. <code class=\"docutils literal notranslate\"><span class=\"pre\">template_engine</span></code> est transmis par le paramètre nommé <code class=\"docutils literal notranslate\"><span class=\"pre\">using</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">response_class</span></code>. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>, ce qui indique à Django de rechercher le gabarit avec tous les moteurs configurés.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.response_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">response_class</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.response_class\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>La classe de réponse que la méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">render_to_response</span></code> va renvoyer. La classe par défaut est <a class=\"reference internal\" href=\"/fr/1.9/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a>. Le gabarit et le contexte des instances <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> peut être modifié par la suite (par exemple dans un <a class=\"reference internal\" href=\"/fr/1.9/topics/http/middleware/#template-response-middleware\"><span class=\"std std-ref\">intergiciel de réponse de gabarit</span></a>).</p>\n<aside class=\"version-note version-changed\" data-version=\"1.8\">\n<p class=\"version-note-title\">Changed in Django 1.8</p><p>Dans les versions précédentes de Django, <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> utilisait <a class=\"reference internal\" href=\"/fr/1.9/ref/templates/api/#django.template.RequestContext\" title=\"django.template.RequestContext\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">RequestContext</span></code></a> de manière à ce que les valeurs des processeurs de contexte de gabarit surchargent les variables de gabarit définies dans les vues. Par exemple, si vous héritiez de <a class=\"reference internal\" href=\"/fr/1.9/ref/class-based-views/generic-display/#django.views.generic.detail.DetailView\" title=\"django.views.generic.detail.DetailView\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DetailView</span></code></a> et que vous définissiez <code class=\"docutils literal notranslate\"><span class=\"pre\">context_object_name</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">user</span></code>, le processeur de contexte <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.auth</span></code> aurait écrasé cette variable en remplaçant son contenu par l’utilisateur actuel. Dorénavant, par cohérence avec le raccourci <code class=\"docutils literal notranslate\"><span class=\"pre\">render()</span></code>, les valeurs du contexte fournies par la classe surchargent les valeurs provenant des processeurs de contexte.</p>\n</aside>\n<p>Si vous avez besoin d’un chargement personnalisé du gabarit ou d’une création personnalisée de l’objet de contexte, créez une sous-classe de <code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code> et assignez-la à <code class=\"docutils literal notranslate\"><span class=\"pre\">response_class</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.content_type\">\n<span class=\"sig-name descname\"><span class=\"pre\">content_type</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.content_type\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Le type de contenu à utiliser pour la réponse. <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> est transmis sous forme de paramètre nommé à <code class=\"docutils literal notranslate\"><span class=\"pre\">response_class</span></code>. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>, ce qui signifie que Django utilise alors <a class=\"reference internal\" href=\"/fr/1.9/ref/settings/#std-setting-DEFAULT_CONTENT_TYPE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DEFAULT_CONTENT_TYPE</span></code></a>.</p>\n</dd></dl>\n\n<p><strong>Méthodes</strong></p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.render_to_response\">\n<span class=\"sig-name descname\"><span class=\"pre\">render_to_response</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">context</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">response_kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.render_to_response\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Renvoie une instance de <code class=\"docutils literal notranslate\"><span class=\"pre\">self.response_class</span></code>.</p>\n<p>Tout paramètre nommé éventuellement fourni sera transmis au constructeur de la classe de réponse.</p>\n<p>Appelle <a class=\"reference internal\" href=\"#django.views.generic.base.TemplateResponseMixin.get_template_names\" title=\"django.views.generic.base.TemplateResponseMixin.get_template_names\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_template_names()</span></code></a> afin d’obtenir la liste des noms de gabarits utilisés lors de la recherche de gabarit existants.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.TemplateResponseMixin.get_template_names\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_template_names</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.base.TemplateResponseMixin.get_template_names\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returns a list of template names to search for when rendering the\ntemplate. The first template that is found will be used.</p>\n<p>Si <a class=\"reference internal\" href=\"#django.views.generic.base.TemplateResponseMixin.template_name\" title=\"django.views.generic.base.TemplateResponseMixin.template_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">template_name</span></code></a> est renseigné, l’implémentation par défaut renvoie une liste contenant <a class=\"reference internal\" href=\"#django.views.generic.base.TemplateResponseMixin.template_name\" title=\"django.views.generic.base.TemplateResponseMixin.template_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">template_name</span></code></a>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>","rootId":"simple-mixins","toc":[{"title":"ContextMixin","anchor":"contextmixin","children":[]},{"title":"TemplateResponseMixin","anchor":"templateresponsemixin","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/1.9/ref/"},{"docname":"ref/class-based-views/index","title":"API des vues intégrées fondées sur les classes","url":"/fr/1.9/ref/class-based-views/"},{"docname":"ref/class-based-views/mixins","title":"Vues « mixins » fondées sur les classes","url":"/fr/1.9/ref/class-based-views/mixins/"}],"prev":{"docname":"ref/class-based-views/mixins","title":"Vues « mixins » fondées sur les classes","url":"/fr/1.9/ref/class-based-views/mixins/"},"next":{"docname":"ref/class-based-views/mixins-single-object","title":"Classes mixins pour objet unique","url":"/fr/1.9/ref/class-based-views/mixins-single-object/"},"formats":{"html":"/fr/1.9/ref/class-based-views/mixins-simple/","markdown":"/fr/1.9/ref/class-based-views/mixins-simple.md","json":"/fr/1.9/ref/class-based-views/mixins-simple.json"},"source":"https://github.com/django/django/blob/stable/1.9.x/docs/ref/class-based-views/mixins-simple.txt","official":"https://docs.djangoproject.com/fr/1.9/ref/class-based-views/mixins-simple/","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","fr","ja","id","pt-br","es"]}