Les liens hypertextes (ou ancres) permettent de lier des pages Web entre elles. Comment ça marche?...
Cet article porte sur l'utilisation de la balise for dans les templates ( modèles ). La balise for boucle sur chaque élément d'un tableau, rendant l'élément disponible dans une variable.
Django, étant basé sur Python, utilise un modèle similaire de boucle for avec seulement des différences mineures dans la syntaxe
{% for i in list %} # code à exécuter {% endfor %}Exemple Parcourir en boucle les éléments d'une liste : Fichier testes/templates/template.html
Fichier testes/templates/template.html 📋 Copier le code
<!DOCTYPE html> <html> <body> <!DOCTYPE html> <html> <body> <h1>Liste des fruits :</h1> <ul> {% for x in fruits %} <li>{{ x }}</li> {% endfor %} </ul> <p>Dans le fichier views.py, vous pouvez voir à quoi ressemble la variable fruits.</p> </body> </html> </body> </html>
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'fruits': ['Orange', 'Banane', 'serise','pomme','avocat'], } return HttpResponse(template.render(context, request))
Fichier testes/templates/template.html 📋 Copier le code
<!DOCTYPE html> <html> <body> <h1>Marques de voitures françaises :</h1> <dl> {% for x in voitures %} <dt>Marque :{{ x.marque }}</dt> <dd>Année : {{ x.annee }}</dd> {% endfor %} </dl> <p>Dans le fichier views.py, vous pouvez voir à quoi ressemble la variable voitures.</p> </body> </html>
Fichier testes/views.py : 📋 Copier le code
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'voitures': [ {'marque': 'BUGATTI' , 'annee': '1909'}, {'marque':'CHRYSLER', 'annee':'1970-1979' }, {'marque':'CITROëN', 'annee':'Depuis 1919' }, {'marque':'DS', 'annee':'2014 '}, {'marque':'DELAHAYE','annee':'1935-1954'}, {'marque':'FACEL-VEGA','annee':'1954-1964'}, {'marque':'FORD ','annee':'1916-1954 '}, {'marque':'PANHARD','annee':'1890-1967'},], } return HttpResponse(template.render(context, request))
Fichier testes/templates/template.html 📋 Copier le code
<!DOCTYPE html> <html> <body> <h1>Liste des membres :</h1> <table><tr><th>Prénom</th><th>Nom</th><th>Email</th></tr> {% for x in membres %} <tr> <td>{{ x.prenom }}</td> <td> {{ x.nom }}</td> <td>{{x.mail}}</td> </tr> {% endfor %} </table> </body> </html>
Fichier testes/views.py : 📋 Copier le code
from django.http import HttpResponse, HttpResponseRedirect from django.template import loader from .models import Membres def testing(request): monmembres = Membres.objects.all().values() template = loader.get_template('template.html') context = { 'membres': monmembres, } return HttpResponse(template.render(context, request))
{% for x in membres reversed %} <tr> <td>{{ x.prenom }}</td> <td> {{ x.nom }}</td> <td>{{x.mail}}</td> </tr> {% endfor %}
Fichier testes/templates/template.html 📋 Copier le code
<!DOCTYPE html> <html> <body> <h1>Liste des membres :</h1> <ul> {% for x in monobjet %} {% empty %} <li>Aucun membre trouvé</li> {% endfor %} </ul> </body> </html>
Fichier testes/views.py : 📋 Copier le code
from django.http import HttpResponse, HttpResponseRedirect from django.template import loader from .models import Membres def testing(request): monmembres = Membres.objects.all().values() template = loader.get_template('template.html') context = { 'monobjet' : [], } return HttpResponse(template.render(context, request))
PROMO ! CLUB AFFILIATION FACILE : lien publicitaire affiché pendant 1 semaine sur plusieurs sites à fort trafic, partage des commissions 1TPE et SystemeIO, plus de 20000 produits.
Ces sites web "pépites" vous payent entre 500 et 1000 euros par mois pour effectuer de petites tâches simples !