我有以下for
循环,用于吐出列表中的所有照片:
{% if photos %}
{% for photo in photos %}
{% thumbnail photo.photo "100x100" crop="center" as im %}
<img src="{{ im.url }}" alt="User's photos" data-ajax="{% url 'photo_increase_view' pk=photo.id %}"/>
{% endthumbnail %}
{% endfor %}
{% endif %}
如何选择并显示列表中的第一张照片?
答案 0 :(得分:1)
{{ photos.0 }}
将是第一项。所以:
{% if photos %}
{% thumbnail photos.0.photo "100x100" crop="center" as im %}
<img src="{{ im.url }}" alt="User's photos" data-ajax="{% url 'photo_increase_view' pk=photos.0.id %}"/>
{% endthumbnail %}
{% endif %}
如果您仍希望在模板中使用photo
变量(因为它比每次索引更方便),请考虑使用{% with photo=photos.0 %} {# ... #} {% endwith %}
答案 1 :(得分:1)
您可以使用.0
访问第一个元素:
将其与with
标记结合使用(以尽量减少更改):
{% if photos %}
{% with photo=photos.0 %}
{% thumbnail photo.photo "100x100" crop="center" as im %}
<img src="{{ im.url }}" alt="User's photos" data-ajax="{% url 'photo_increase_view' pk=photo.id %}"/>
{% endthumbnail %}
{% endwith %}
{% endif %}