Bucles en plantillas
Parte de la sección Conceptos básicos de Django del Journey de Django de Coddy. Lección 13 de 23.
La cafetería tiene una página nueva, /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, asignando table a cada elemento sucesivamente. Las plantillas no tienen reglas de sangría, así que {% endfor %} cierra el bucle. La parte opcional {% empty %} se muestra solo cuando la lista no contiene nada.
El bucle solo ve los nombres del contexto, como drinks, no las variables de views.py.
Desafío
FácilEn drinks.html, recorre drinks dentro de <ul>. Cada bebida aparece en un <li class="drink"> con su nombre. Cuando no haya bebidas, muestra <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
1Tu primer sitio con Django
Hola, DjangoUna segunda página4Diseños y archivos estáticos
Herencia de plantillasUn título para cada página3Plantillas
Tu primera plantillaVariables de plantillaPractica por tu cuenta: Playground de Django