Forloop.counter для двумерного массива в Django Template
Я использую forloop.counter для моего списка. У меня двумерный список. Если я попробую это, все работает идеально.
{{team_members|index:1|index:0}}
Но когда я пробую следующее:
{{team_members|index:forloop.counter|index:0}}
где forloop.counter = 1 это выводит меня
индекс списка вне диапазона
Не могли бы вы объяснить почему? Если я кодирую следующим образом:
{{team_members|index:forloop.counter}}
он тоже работает идеально.
Редактировать
<div class="card card-body" data-toggle="tooltip" data-placement="bottom" data-html="true" twipsy-content-set="true" class="tooltip ficon-help-icon" title="Leader:
{% with team_member=team_members|index:forloop.counter %}
{{ team_member|index:0 }}
{% endwith %}<br>Members: {{team_members.1.1}}">
{{team.name|teamName}}
</div>
Если вы составите такую цепочку, шаблонизатор будет пытаться применить фильтр шаблонов index
на forloop.counter
, а не на team_members[forloop.counter]
.
Единственный способ контролировать порядок оценки - использовать тег шаблона {% with %}
:
{% with team_member=team_members|index:forloop.counter %}
{{ team_member|index:0 }}
{# or with the dot syntax: #}
{{ team_member.0 }}
{% endwith %}