Django - "Inclure" un bloc dans plusieurs modèles? Balise de modèle? Autre chose?
J'ai un peu de statistiques bloc que je veux être disponible en plusieurs endroits: la page de profil d'un utilisateur, et une page de recherche avec une liste d'utilisateurs.
Quelle serait la meilleure manière de procéder en répétant ce bloc?
Je viens de PHP en arrière-plan, et en PHP, ce serait un simple inclure avec le passage de quelques simples arguments. Dans django, en gros, je veux être en mesure d'appeler quelque chose comme :
{% stats_block user %}
Où l'utilisateur est l'objet contenant toutes les infos de l'utilisateur. Je pensais à une simple balise de modèle, mais le bloc est assez grand et je ne veux pas mettre tout dans une ligne dans la balise de modèle.
Merci beaucoup!
source d'informationauteur Alban Dumouilla | 2012-08-27
Vous devez vous connecter pour publier un commentaire.
inclure la balise de modèle
Vous pouvez incluent des modèles avec des arguments:
L'héritage de Template
Mais la meilleure façon de répéter un bloc dans tous les modèles, est d'avoir un modèle de base-dire base.html:
Par exemple, le modèle de contact pourrait être aussi simple que:
Reportez-vous à la documentation sur l'héritage de template pour plus d'.
inclusion_tag
Enfin, une autre grande option est de faire une inclusion_tagce qui permet de crochet python contexte de traitement avant même le modèle de l'inclusion.
Vous pouvez écrire un modèle personnalisé de la balise, ce qui peut rendre un modèle spécifique.
Reportez-vous L'Inclusion tags.
À partir du lien: un Autre type de balise de modèle est le type qui affiche certaines données par le rendu d'un autre modèle.