{"title":"Mixins simples","version":"4.0","locale":"fr","docname":"ref/class-based-views/mixins-simple","url":"/fr/4.0/ref/class-based-views/mixins-simple/","canonical":"https://djangodocs.dev/fr/4.0/ref/class-based-views/mixins-simple/","summary":"ContextMixin Lien vers cette rubrique # class django.views.generic.base. ContextMixin Lien vers cette définition # Attributs extra_context Lien vers cette…","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>Attributs</strong></p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.base.ContextMixin.extra_context\">\n<span class=\"sig-name descname\"><span class=\"pre\">extra_context</span></span><a class=\"heading-anchor\" href=\"#django.views.generic.base.ContextMixin.extra_context\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Un dictionnaire à inclure dans le contexte. C’est un moyen pratique de fournir du contexte dans <a class=\"reference internal\" href=\"/fr/4.0/ref/class-based-views/base/#django.views.generic.base.View.as_view\" title=\"django.views.generic.base.View.as_view\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">as_view()</span></code></a>. 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=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.views.generic</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">TemplateView</span>\n<span class=\"n\">TemplateView</span><span class=\"o\">.</span><span class=\"n\">as_view</span><span class=\"p\">(</span><span class=\"n\">extra_context</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s1\">&#39;title&#39;</span><span class=\"p\">:</span> <span class=\"s1\">&#39;Custom Title&#39;</span><span class=\"p\">})</span>\n</code></pre></div>\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.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=\"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/4.0/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/4.0/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/4.0/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><p>Le nom <a class=\"reference internal\" href=\"/fr/4.0/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/4.0/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/4.0/topics/http/middleware/#template-response-middleware\"><span class=\"std std-ref\">intergiciel de réponse de gabarit</span></a>).</p>\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 <code class=\"docutils literal notranslate\"><span class=\"pre\">'text/html'</span></code>.</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>Renvoie une liste de noms de gabarits utilisés pour la recherche d’un gabarit à afficher. Le premier gabarit trouvé sera utilisé.</p>\n<p>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> (pour autant qu’il soit renseigné).</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/4.0/ref/"},{"docname":"ref/class-based-views/index","title":"API des vues intégrées fondées sur les classes","url":"/fr/4.0/ref/class-based-views/"},{"docname":"ref/class-based-views/mixins","title":"Vues « mixins » fondées sur les classes","url":"/fr/4.0/ref/class-based-views/mixins/"}],"prev":{"docname":"ref/class-based-views/mixins","title":"Vues « mixins » fondées sur les classes","url":"/fr/4.0/ref/class-based-views/mixins/"},"next":{"docname":"ref/class-based-views/mixins-single-object","title":"Classes mixins pour objet unique","url":"/fr/4.0/ref/class-based-views/mixins-single-object/"},"formats":{"html":"/fr/4.0/ref/class-based-views/mixins-simple/","markdown":"/fr/4.0/ref/class-based-views/mixins-simple.md","json":"/fr/4.0/ref/class-based-views/mixins-simple.json"},"source":"https://github.com/django/django/blob/stable/4.0.x/docs/ref/class-based-views/mixins-simple.txt","official":"https://docs.djangoproject.com/fr/4.0/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","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}