Menu
CoddyTech

Bucles en plantillas

Parte de la sección Conceptos básicos de Django del Journey de Django de Coddy. Lección 13 de 23.

El café tiene una nueva página, /drinks/. Su vista pasa cada bebida a la plantilla como drinks, pero la lista de la página está vacía. La etiqueta {% for %} repite el HTML una vez por elemento. Una página que muestra las mesas libres:

<ul>
{% for table in free_tables %}
    <li>Table {{ table }} is free.</li>
{% empty %}
    <li>Every table is taken.</li>
{% endfor %}
</ul>

Funciona como el for de Python, con table asignado a cada elemento por turno. Las plantillas no tienen reglas de sangría, así que {% endfor %} cierra el bucle. La parte opcional {% empty %} solo se muestra cuando la lista no contiene nada.

El bucle solo ve los nombres del contexto, como drinks, no las variables de views.py.

challenge icon

Desafío

Fácil

En drinks.html, recorre drinks dentro de <ul>:

  • un <li class="drink"> por cada bebida, con su nombre;
  • cuando no haya bebidas, usa <li>No drinks today.</li> en su lugar.

Pulsa Ejecutar: /drinks/ muestra cuatro bebidas.

Pruébalo tú mismo

<!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>

Todas las lecciones de Conceptos básicos de Django

Practica por tu cuenta: Playground de Django