Печать элементов из списка с использованием индекса цикла for в коде jinja
{% for index in length %}
{{index}}
<img src={{image_url.index}} width="200" height="250">
{% endfor %}
length содержит список чисел от 0 до 38 i.e. [0,1,2,......38]. image_url содержит список адресов изображений, которые я хочу показать на моей веб-странице. Код {{index}} выполняется правильно и показывает номер индекса от 0 до 38. Но когда я пытаюсь отобразить изображение с помощью {{image_url.index}}, изображение не отображается. Есть ли решение для этого?
Django не конвертирует ваш index
в это значение для получения соответствующего image_url.
Почему вы не делаете цикл на image_url ?
{% for url in image_url %}
{{forloop.counter0}}
<img src={{url}} width="200" height="250">
{% endfor %}
Если, вы должны создать пользовательский фильтр (https://docs.djangoproject.com/en/4.1/ref/templates/builtins/):
# templatetags/extras.py
from django import template
register = template.Library()
@register.filter
def get_item(array, key):
return array[key]
# in template
{% load extras %}
{{image_url|get_item:index}}