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.
Desafío
FácilEn 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
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