Cicli nei template
Fa parte della sezione Fondamenti di Django del percorso Django di Coddy. Lezione 13 di 23.
Il caffè ha una nuova pagina, /drinks/. La sua vista passa ogni bevanda al template come drinks, ma l’elenco sulla pagina è vuoto. Il tag {% for %} ripete l’HTML una volta per ogni elemento. Una pagina che elenca i tavoli liberi:
<ul>
{% for table in free_tables %}
<li>Table {{ table }} is free.</li>
{% empty %}
<li>Every table is taken.</li>
{% endfor %}
</ul>Funziona come il for di Python, con table impostato a turno su ciascun elemento. I template non hanno regole di indentazione, quindi {% endfor %} chiude il ciclo. La parte facoltativa {% empty %} viene mostrata solo quando l’elenco è vuoto.
Il ciclo vede solo i nomi presenti nel contesto, come drinks, non le variabili di views.py.
Sfida
FacileIn drinks.html, esegui un ciclo su drinks all’interno di <ul>:
- un elemento
<li class="drink">per ogni bevanda, con il suo nome; - se non ci sono bevande, usa invece
<li>No drinks today.</li>.
Premi Esegui: /drinks/ elenca quattro bevande.
Provalo tu
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Our Drinks</title>
</head>
<body>
<h1>Our Drinks</h1>
<ul>
<!-- one <li class="drink"> per drink -->
</ul>
</body>
</html>
Tutte le lezioni di Fondamenti di Django
4Layout e file statici
Ereditarietà dei templateUn titolo per ogni pagina3Template
Il tuo primo templateVariabili nei templateEsercitati da solo: Playground Django