Итерация по списку в шаблоне django

Есть фотогалерея, которая выводится из каталога циклом следующим образом (весь цикл не привожу, он массивный и суть не в нём):

<a href="{{ MEDIA_URL }}images/thumbs/{{ image }}">
<img src="{{ MEDIA_URL }}images/{{ image }}" alt="{{ alt_text.0 }}">

Во views.py

def photo(request):
path = settings.MEDIA_ROOT
img_list = os.listdir(path + '/images/thumbs')
i = 0
alt_text = ('первое фото', 'второе фото', 'третье фото')
context = {'images': img_list,
           'alt_text': alt_text,
            'i': i}

return render(request, "photo/photo.html", context)

То есть я создал список alt_text для применении ALT к каждой фотографии. Если в шаблоне я указываю alt="{{ alt_text.0 }} - то ALT текст присваивается к фотографии, но у меня их много, поэтому пытался через переменную 'i', и в конце цикла ставил i += 1, но такой фокус не работает. То есть код alt="{{ alt_text.i }} не работает.

Помогите пожалуйста с идеей, тапками прошу не кидать, все с чего-то начинали. Цель - применить следующий элемент списка к ALT тексту следующего изображения, пока изображения есть. Спасибо.

просто добавьте поле alt в модель.

class Image(models.Model):
    .......
    ALT_CHOICES = (
        ('1', 'alt1'),
        ('2', 'alt2'),
    )
    alt = models.CharField(max_length=200)

или через выбор из допустимых значений

class Image(models.Model):
    .......
    ALT_CHOICES = (
        ('1', 'alt1'),
        ('2', 'alt2'),
    )
    alt = models.CharField(max_length=1, choices=GENDER_CHOICES)
Вернуться на верх