Menu
CoddyTech

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.

challenge icon

Desafío

Fácil

En 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>
quiz iconPonte a prueba

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

Practica por tu cuenta: Playground de Django