¿Como usar if en template de Django?

Author: aprender_django
views: 77

Condicionales con {% if %} en Django Templates

La etiqueta {% if %} se utiliza para evaluar variables y mostrar contenido HTML solo si se cumplen ciertas condiciones. Es la herramienta principal para personalizar la experiencia del usuario en la plantilla.

Sintaxis Básica

Toda estructura condicional debe cerrarse siempre con la etiqueta {% endif %}.

{% if usuario.is_authenticated %}
    <p>Bienvenido de nuevo, {{ usuario.username }}.</p>
{% endif %}

El uso de else y elif

Puedes encadenar múltiples condiciones de forma lógica, muy similar a cómo lo haces en Python.

{% if calificacion >= 90 %}
    <p>Excelente trabajo.</p>
{% elif calificacion >= 70 %}
    <p>Aprobado.</p>
{% else %}
    <p>Necesitas mejorar.</p>
{% endif %}

Operadores Disponibles

Django permite utilizar operadores lógicos y de comparación dentro de los tags:

Operador Descripción
== Igual a
!= Diferente de
<, > Menor que, Mayor que
<=, >= Menor/Mayor o igual que
and Las dos condiciones deben ser ciertas
or Al menos una condición debe ser cierta
not Niega el valor de la variable
in Verifica si un elemento está en una lista o string

Ejemplo combinado:

{% if edad >= 18 and suscripcion_activa %}
    <p>Acceso concedido al contenido premium.</p>
{% endif %}

Evaluación de Verdad (Booleanos)

En Django, un valor se evalúa como falso si:

Cualquier otro valor se considerará verdadero.

{% if productos %}
    <p>Hay artículos disponibles.</p>
{% else %}
    <p>Agotado temporalmente.</p>
{% endif %}

Uso de Filtros en Condiciones

Puedes aplicar filtros a las variables antes de compararlas. Uno de los más comunes es length.

{% if carrito|length > 0 %}
    <a href="/checkout">Ir a pagar</a>
{% endif %}

Operadores de Agrupación

Si necesitas crear condiciones complejas, puedes usar paréntesis para agrupar la lógica y asegurar que se evalúe en el orden correcto:

{% if (es_admin or es_editor) and no_esta_baneado %}
    <p>Tienes permisos de edición.</p>
{% endif %}
Preview
Ejercicio de Método de Máximos y Mínimos- Razonamiento Matemático
aprender_rm
29 vistas · hace 2 months
Preview
Formulario - Base de daro 5/10
Play1
23 vistas · hace 2 months
Preview
Ejercicio de Metodología del Cangrejo - Razonamiento Matemático
aprender_rm
28 vistas · hace 2 months
Preview
Ejercicio de Método de Sucesiones - Razonamiento Matemático
aprender_rm
37 vistas · hace 2 months
Preview
Aprendiendo Trigonometría
user821129106097861309483887888
32 vistas · hace 2 months, 1 week
Preview
Recargar una página
user736556089230920026837898812
23 vistas · hace 1 week, 5 days
Preview
Test 9: Construcción de player y mejora de construcción
crear_videojuegos
62 vistas · hace 1 month, 1 week
Preview
Mi top música para relajarme
my_top_list
182 vistas · hace 1 month, 2 weeks
Preview
Tests: G1 DJC
crear_videojuegos
140 vistas · hace 1 month, 2 weeks
Preview
Proyectos para practicar Python desde cero
aprender_python
57 vistas · hace 1 month, 3 weeks
Preview
Parámetros y retorno de funciones en Python
aprender_python
22 vistas · hace 1 month, 3 weeks
Preview
Test 1: Crear un fondo básico en Three.js
crear_videojuegos
151 vistas · hace 1 month, 3 weeks