Django repetir bloques HTML sin rangos | Programador Web Valencia

Django repetir bloques HTML sin rangos

1 minuto

Django

Una utilidad básica para crear bloques de HTML que se repitan es usar rangos. Lo incómodo es que deben ser declaradas como una variable de contexto o directamente definidas al renderizar el HTML. ¿Existe algún truco para duplicar de forma independiente elementos HTML usando el sistema de plantillas de Django? La respuesta es un rotundo sí.

Pongamos un caso real que me encontré hace poco. Había que clonar una estrella en 5 ocasiones para un desplegable de valoración. El código que utilicé es el siguiente:


{% with ''|center:5 as range %}
    {% for _ in range %}
        <span></span>
    {% endfor %}
{% endwith %}

Se define un falso rango usando el filtro center, te invito a leer en la documentación como funciona, y se define una variable llamada range. Lo siguiente es iterar con un sencillo for.

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me ayudas?

Comprame un café
Pulsa sobre la imagen

No te sientas obligado a realizar una donación, pero cada aportación mantiene el sitio en activo logrando que continúe existiendo y sea accesible para otras personas. Además me motiva a crear nuevo contenido.

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario

Tal vez también te interese...