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?

No te sientas obligado a realizarme una donación, pero cada aportación me ayuda a mantener el sitio en activo para que continúe existiendo y me motiva a continuar creando nuevo contenido.

Comprame un café
Pulsa sobre la imagen
  • 1 café: Se mantiene el dominio durante 4 meses.
  • 2 cafés: Se liquida 1 mes del Servidor Web.
  • 3 cafés: Se paga 1 mes de Newsletter.

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...