OUJOOD.COM
La balise de template include
La balise include vous permet d'inclure un template dans le template courant.Ceci est utile lorsque vous avez un bloc de contenu qui est le même pour plusieurs pages.
Syntaxe :
{% include "nom_template.html" %}
Où nom_template.html est le template à inclure .Normalement, le nom du template à inclure est relatif au répertoire racine du template chargeur. Et donc, un argument de type chaîne peut également être un chemin relatif commençant par ./ ou ../, comme décrit dans la balise extends.
Exemple : inclure le fichier pied de page 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())
Des variables dans Include
Vous pouvez envoyer des variables dans le template en utilisant le mot-clé with.Dans le fichier d'inclusion, vous faites référence aux variables en utilisant la syntaxe {{variablename }} :
Exemple monmenu.html :
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())