В указателе статей я бы хотел отобразить первое фото для данной статьи.Фотографии в другой модели, у которой есть внешний ключ к модели, где находятся статьи.
Таким образом, я выбираю статьи из данной категории, которые должны отображаться, затем я выбираю все фотографии из данной категории и сопоставляю их фрагменты в шаблоне, а затем я (хочу) отображать только первый результат.
но forloop.counter, который я использую для этой цели, не работает должным образом.Он продолжается без сброса, когда он проходит тег endfor.
например, вместо: «1,2,3, endfor, 1,2,3,4,5, endfor, 1,2,3,4», это считается: «1,2,3,endfor, 4,5,6,7,8, endfor, 9,10,11,12 "
Я что-то пропустил?
вот код шаблона:
{% extends 'index.html' %}
{% load markup %}
{% load thumbnail %}
{% block content %}
{% for itm in plays %}
<h2>{{ itm.name }}</h2>
<div>{{ itm.desc }}</div>
<div>
{% for ftk in photos %}
{% if ftk.nameofplay.slug == itm.slug %}
{% if forloop.counter == 1 %}
{% thumbnail ftk.photo "100x100" crop="center" as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}
{% endif %}
{% endif %}
{% endfor %} {# forloop.counter should reset here and start from 1 again. or not? #}
</div>
<div>{{ itm.text|markdown|truncatewords_html:25 }}</div>
{% endfor %}
{% endblock %}
и из views.py я отправляю примерно такие:
plays = Plays.objects.filter(category__slug__exact = category)
photos = Photos.objects.filter(nameofplay__category__slug__exact = category)
Спасибо!