OUJOOD.COM
La balise include
Quand plusieurs pages partagent un même bloc HTML — un pied de page, un menu, une bannière — il est inutile de le réécrire à chaque fois. La balise include permet de le centraliser dans un fichier séparé et de l'injecter où on en a besoin.Syntaxe :
{% include "nom_template.html" %}
Le chemin est relatif au répertoire racine des templates. Les chemins relatifs avec./ ou ../ sont aussi acceptés, comme pour la balise extends.Exemple — inclure un pied de page depuis un fichier dédié
pied_de_page.html :
Fichier template.html 📋 Copier le code
<!DOCTYPE html>
<html>
<body>
<h1>Bonjour</h1>
<p>Cette page contient un pied de page dans un template.</p>
<p>Jette un coup d'oeil aux deux modèles pour voir à quoi
ils ressemblent, et à views.py pour voir la référence au template chargeur.</p>
{% include 'pied_de_page.html' %}
</body>
</html>
Fichier pied_de_page.html 📋 Copier le code
<p>Vous avez atteint le bas de cette page, merci pour votre participation.</p>
Fichier views.py 📋 Copier le code
from django.http import HttpResponse
from django.template import loader
def appliquer(request):
template = loader.get_template('template.html')
return HttpResponse(template.render())
{% include 'pied_de_page.html' %} par le contenu du fichier — comme si ce contenu avait été écrit directement à cet endroit.
Passer des variables au template inclus
Un template inclus peut recevoir des données au moment de son appel, grâce au mot-clé with. On liste les variables à transmettre sous forme de pairesnom="valeur", et on y accède ensuite dans le fichier inclus avec la syntaxe habituelle {{ variable }}.Exemple — inclure un menu principal en lui passant deux variables,
menu et sponsor :
Fichier template.html 📋 Copier le code
<!DOCTYPE html>
<html>
<body>
<h1>Bonjour</h1>
{% include "menu_principal.html" with menu="Tutoriels" sponsor="oujood.com" %}
<p>Voici mon site web</p>
<p>Consultez la page menu_principal.html pour voir
son contenu HTML.</p>
<hr>
{% include 'pied_de_page.html' %}
</body>
</html>
Fichier menu_principal.html 📋 Copier le code
<div>Accueil | {{ menu }} | News | A propos | {{ sponsor }}</div>
Fichier views.py 📋 Copier le code
from django.http import HttpResponse
from django.template import loader
def appliquer(request):
template = loader.get_template('template.html')
return HttpResponse(template.render())
Par carabde | Mis à jour le 01 juin 2026