Django fournit un moyen efficace et pratique pour générer et afficher des pages HTML dynamiques en utilisant son système de template (template system).
Un modèle se compose d'une partie statiques pour la sortie HTML, ainsi que d'une syntaxe spéciale décrivant comment le contenu dynamique sera inséré.
Dans un fichier HTML, nous ne pouvons pas écrire de code python car le code n'est interprété que par l'interpréteur python et non par le navigateur. Nous savons que HTML est un langage de balisage statique, tandis que Python est un langage de programmation dynamique, pour cela on dois passer par le billet du template.
1 - Configuration du système de template de django
Avant de configurer le système de template, il faut au préalable
- Créer un répertoire nommé templates à la racine de notre application myapp
- Créer un fichier index.html au sein du répertoire 'templates'
Pour configurer le système de template, nous devons fournir certaines entrées dans le fichier mysite/settings.py
Ce code mentionne au système de django que le répertoire de template est par défaut 'templates'
2 - Chargement du template
Pour charger le template dans une application django, il suffit de l'appeler dans le fichier views.py via la méthode get_template():
3 - Configuration de l'url
3 - Variables de template django
Le système de template Django utilise une syntaxe spécifique pour utiliser et manipuler les variables, les balises, les expressions, etc.
Les variables de template sont accessibles par {{ }} (accolades doubles).
Exemple. (pour une variable nom ayant la valeur 'Houssam')
Ce qui affiche à l'exécution:
Affiche à la sortie:
Bienvenue Houssam
4 - Exemple de variable de template django
Les variables de templates sont déclarées au niveau du fichier views.py et visualisées au niveau du fichier index.html du template. Afin d'organiser les données, django utilise la structure de dictionnaire pour regrouper les variables de template:
Exemple
Les variables ici sont les clés dictionnaire data_student: name , email , phone, age , et peuvent être maintenant appelée au niveau du fichier index.html du template:
Ce qui affiche à la sortie:
5 - Les balises (tags en anglais) du template système
Dans un template, les balises (tags en anglais) fournissent une logique dans le processus de rendu. Une balise de template peut être utilisée dans les cas suivants:
- pour produire du contenu,
- servir de structure de contrôle (une instruction if ou pour une boucle),
- récupérer du contenu d'une base de données
- permettre l'accès à d'autres balises de modèle.
Les balises de template sont entourées de {% et% } et peuvent contenir n'importe quel type de structure et variable.
5.1 - Cas de la structure conditionnelle if
Exemple. structure if ... else ...
On définit une variable age au niveau du fichier myapp/views.py
On applique la structure conditionnelle If...Else... au niveau du fichier myapp/templates/index.html
5.2 - La balise Pour...FinPour (for tag)
La balise for nous permet le parcourt d'une séquence. Nous pouvons utiliser la balise for pour exécuter des instructions répétées, pour parcourir le contenu d'une liste, d'un tuple, d'un dictionnaire, etc. Voici la syntaxe de la balise for:
5.3 - Les commentaires
Le système de template de django permet de gérer aussi les commentaires via la syntaxe suivante:
Le commentaire que vous écrivez à l'aide de cette syntaxe ne sera pas rendu dans le code source HTML. De plus, vous ne pouvez pas développer ce commentaire sur plusieurs lignes. Par exemple:
Afin de pouvoir écrire des commentaires sur plusieurs lignes, on utilise la syntaxe suivante:
Younes Derfoufi
CRMEF OUJDA
1 thought on “Template Django”