Это вопрос рефакторинга. Код работает как есть, я просто не доволен им в эстетическом смысле.
Я хотел бы знать, может ли условное условие внутри цикла быть записано более коротким, более читаемым способом или, возможно, может быть удалено?
{% set i = 0 %}
{% for element in list %}
{% if loop.first %}<div class="row">{% endif %} {# open first row #}
{% if i > 2 %} {# new row every 3 elements #}
{% set i = 0 %}
</div>
<div class="row">
<img src="{{ element.url }}">
{% else %}
{% set i = i+1 %}
<img src="{{ element.url }}">
{% endif %}
{% if loop.last %}</div>{% endif %}
{% endfor %}