Как использовать целочисленное значение из цикла for для получения элемента списка в шаблоне django
У меня есть список чисел в views.py list=[0,1,2,3,4,5] (он не одинаков все время, когда я получаю его из API).
затем в search.html я написал следующий код:-
{% for i in list %}
<a href="https://example.com//{{ id[i] }}">
<img class="row_poster" src="https://this.isapi.org/{{poster[i]}}" alt="" />
<h4>{{title[i]}}</h3>
</a>
{% endfor %}
где id, poster, title являются списками, передаваемыми через views.py
Я хочу получить элементы каждого списка по 1 Я пытался добавить цикл for для каждого, но результат был плохим все постеры отрисовываются первыми, а затем заголовки отрисовываются Я хочу знать, как я могу использовать it для вызова элементов из списка или любой другой, с помощью которого я могу получить доступ к элементам для всех списков в одном цикле.
Я также пробовал {% with abcd=i %}, но результат тот же, продолжаю получать эту ошибку
Could not parse the remainder: '[i]' from 'id[i]'
Чтобы достичь этого, сначала создайте свой собственный фильтр:
@register.filter
def get_index(lst, i):
return lst[i]
Который вы можете затем использовать в своем шаблоне следующим образом:
{% for i in list %}
<a href="https://example.com//{{ id|get_index:i }}">
<img class="row_poster" src="https://this.isapi.org/{{poster|get_index:i}}" alt="" />
<h4>{{title|get_index:i}}</h3>
</a>
{% endfor %}
Информацию о том, как регистрировать пользовательские теги, смотрите здесь.