Condiciones en plantillas
Parte de la sección Conceptos básicos de Django del Journey de Django de Coddy. Lección 14 de 23.
La máquina de chocolate caliente está averiada. Cada bebida ahora tiene un valor "sold_out", True o False, y la lista debe marcar las bebidas que no puedes pedir.
La etiqueta {% if %} muestra su parte solo cuando su condición es verdadera. Una lista de mesas:
{% for table in tables %}
<li>
Table {{ table.number }}:
{% if table.free %}Free{% else %}Taken{% endif %}
</li>
{% endfor %}Al igual que el if de Python, puede tener {% elif %} y {% else %}, compara con ==, <, and, or y not, y termina con {% endif %}. Dentro de un bucle, lee los valores del elemento usando el nombre del bucle: table.free. Un free sin calificar no forma parte del contexto, se considera falso y su parte nunca se muestra.
Desafío
FácilEn drinks.html, dentro de cada <li class="drink"> y después del nombre, añade <span class="sold-out">Sold out</span> solo cuando esa bebida esté agotada.
Pulsa Ejecutar: en /drinks/, solo Hot Chocolate muestra Sold out.
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>
{% for drink in drinks %}
<li class="drink">{{ drink.name }}</li>
{% empty %}
<li>No drinks today.</li>
{% endfor %}
</ul>
</body>
</html>
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
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