logo oujood
🔍

Include - Balises pour les modèles(templates) Django

C'est une façon d'inclure d'autres templates dans un template. Le nom du template peut être une variable ou une chaîne de caractères (entre guillemets), entre guillemets simples ou doubles.

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())