Menu
CoddyTech

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.

challenge icon

Sfida

Facile

In 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

Esercitati da solo: Playground Django