如何忽略FOR函数列表中的第一项?

时间:2014-10-01 18:01:03

标签: 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,3,4 ......等)

3 个答案:

答案 0 :(得分:4)

使用slice

替换

{% for photo in photos %}

通过

{% for photo in photos|slice:"1:" %}

所以,完整的代码

{% if photos %}
{% for photo in photos|slice:"1:" %}
    {% 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 %}

答案 1 :(得分:3)

Check for forloop.first.示例:

{% if photos %}

    {% for photo in photos %}
        {% if not forloop.first %}
            {% 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 %}
        {% endif %}
    {% endfor %}

{% endif %}

答案 2 :(得分:0)

我猜答案有点晚了。但解决方案是:

{% for photo in photos[1:] %}
.....
{% endfor %}