# Documentation Django 5.2.8

# Mixins simples

## `ContextMixin`

class django.views.generic.base.ContextMixin

  Attributs

  extra_context

    Un dictionnaire à inclure dans le contexte. C’est un moyen pratique de fournir du contexte dans `as_view()`. Exemple d’utilisation

        from django.views.generic import TemplateView

        TemplateView.as_view(extra_context={"title": "Custom Title"})

  Méthodes

  get_context_data(**kwargs)

    Renvoie un dictionnaire représentant le contexte de gabarit. Les paramètres nommés fournis vont servir à former le contexte renvoyé. Exemple d’utilisation :

        def get_context_data(self, **kwargs):
            context = super().get_context_data(**kwargs)
            context["number"] = random.randrange(1, 100)
            return context

    Le contexte de gabarit de toutes les vues génériques fondées sur les classes contiennent une variable `view` qui pointe dur l’instance `View`.

    Utilisation de `alters_data` quand c’est nécessaire

    Note that having the view instance in the template context may expose potentially hazardous methods to template authors. To prevent methods like this from being called in the template, set `alters_data=True` on those methods. For more information, read the documentation on rendering a template context.

## `TemplateResponseMixin`

class django.views.generic.base.TemplateResponseMixin

  Fournit un mécanisme pour construire un objet `TemplateResponse`, à partir d’un contexte approprié. Le gabarit employé peut être configuré et peut être personnalisé ensuite par les sous-classes.

  Attributs

  template_name

    Le nom complet d’un gabarit à employer sous forme de chaîne de caractères. Si `template_name` n’est pas indiqué, une exception `django.core.exceptions.ImproperlyConfigured` est générée.

  template_engine

    Le nom `NAME` d’un moteur de gabarit à utiliser pour le chargement du gabarit. `template_engine` est transmis par le paramètre nommé `using` à `response_class`. La valeur par défaut est `None`, ce qui indique à Django de rechercher le gabarit avec tous les moteurs configurés.

  response_class

    La classe de réponse que la méthode `render_to_response` va renvoyer. La classe par défaut est `TemplateResponse`. Le gabarit et le contexte des instances `TemplateResponse` peut être modifié par la suite (par exemple dans un intergiciel de réponse de gabarit).

    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 `TemplateResponse` et assignez-la à `response_class`.

  content_type

    Le type de contenu à utiliser pour la réponse. `content_type` est transmis sous forme de paramètre nommé à `response_class`. La valeur par défaut est `None`, ce qui signifie que Django utilise alors `'text/html'`.

  Méthodes

  render_to_response(context, **response_kwargs)

    Renvoie une instance de `self.response_class`.

    Tout paramètre nommé éventuellement fourni sera transmis au constructeur de la classe de réponse.

    Calls `get_template_names()` to obtain the list of template names that will be searched looking for an existent template.

  get_template_names()

    Renvoie une liste de noms de gabarits utilisés pour la recherche d’un gabarit à afficher. Le premier gabarit trouvé sera utilisé.

    L’implémentation par défaut renvoie une liste contenant `template_name` (pour autant qu’il soit renseigné).