К сожалению, нет способа присвоить результат cycle
templatetag переменной с блоком with
, но вы можете использовать ключевое слово as
, чтобы вывести его результат в переменную и использовать его там, где вы хотите, например, {% cycle 'left_align.html' 'right_align.html' as include_file %}
.Однако это имеет побочный эффект.
Эта инструкция сама выдает результат цикла, хотя она также зарегистрирована в переменной.В качестве обходного пути вы можете поместить его, например, в атрибут data-
некоторого HTML-элемента, чтобы он не отображался, и использовать эту переменную позже при полной конкатенации пути шаблона внутри тега include
.
Полный пример:
{% for i in "xxxxxxxxxxxxxxxxx" %}
<section data-include-file="{% cycle 'left_align.html' 'right_align.html' as include_file %}">
{% include 'web_builder/apple-pie/sections/'|add:include_file %}
</section>
{% endfor %}
Однако, поскольку это выглядит уродливо и сложно, я бы также подумал о том, чтобы написать для этого собственный тег включения.