Mixins simples¶
ContextMixin
¶
-
class
django.views.generic.base.
ContextMixin
¶ 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(RandomNumberView, self).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’instanceView
.Utilisation de
alters_data
quand c’est nécessaireNotez 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
alters_data=True
pour ces méthodes. Pour plus d’informations, lisez la documentation sur l’affichage d’un contexte de gabarit.
-
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 exceptiondjango.core.exceptions.ImproperlyConfigured
est générée.
-
template_engine
¶ - New in Django 1.8.
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 estNone
, 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 estTemplateResponse
. Le gabarit et le contexte des instancesTemplateResponse
peut être modifié par la suite (par exemple dans un intergiciel de réponse de gabarit).Changed in Django 1.8:Dans les versions précédentes de Django,
TemplateResponse
utilisaitRequestContext
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 deDetailView
et que vous définissiezcontext_object_name
àuser
, le processeur de contextedjango.contrib.auth.context_processors.auth
aurait écrasé cette variable en remplaçant son contenu par l’utilisateur actuel. Dorénavant, par cohérence avec le raccourcirender()
, les valeurs du contexte fournies par la classe surchargent les valeurs provenant des processeurs de contexte.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 estNone
, ce qui signifie que Django utilise alorsDEFAULT_CONTENT_TYPE
.
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.
Appelle
get_template_names()
afin d’obtenir la liste des noms de gabarits utilisés lors de la recherche de gabarit existants.
-
get_template_names
()¶ Returns a list of template names to search for when rendering the template. The first template that is found will be used.
Si
template_name
est renseigné, l’implémentation par défaut renvoie une liste contenanttemplate_name
.
-