necesito para representar la colección en la plantilla y envolver cada cuatro elementos de laplantillas de Django {% for%} etiqueta complemento li cada elemento cuarta
<li></li>
La plantilla debe ser como este:
<ul>
<li>
<a></a>
<a></a>
<a></a>
<a></a>
</li>
<li>
<a></a>
<a></a>
<a></a>
<a></a>
</li>
<li>
<a></a>
<a></a>
<a></a>
<a></a>
</li>
</ul>
así que tengo que hacerlo en el {% for%}
{% for obj in objects %}
{#add at 1th and every 4th element li wrap somehow#}
<a>{{object}}</a>
{# the same closing tag li#}
{% endfor %}
Realmente no me gusta esta forma de procedimiento de inyectar etiquetas de cierre cuando se cumple una condición. Consulte la respuesta http://stackoverflow.com/a/11965885/636626 para obtener una solución mucho más legible y reutilizable. –
@NilsWerner: Depende de si la solución es aplicable al caso de uso o no. Si la solución de Hedde requiere que modifique una gran cantidad de código y/o infraestructura existente, podría ser más factible continuar con la "ruta más fácil" de tratar con una lista plana en comparación con un objeto generador. Además, la responsabilidad de cuántos elementos se agrupa la lista se ha transferido a la persona que llama. Si esta es la forma deseada o no depende del caso de uso.Dicho esto, estoy de acuerdo en que es deseable luchar por plantillas más limpias y soluciones reutilizables. – Manuzor