如何从列表中选择第一个项目

时间:2014-10-01 15:08:22

标签: python django jinja2

我有以下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 %}

如何选择并显示列表中的第一张照片?

2 个答案:

答案 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 %}