2014-10-01 49 views
1

我有以下for循環,吐出來的所有照片的列表:如何忽略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 ...等等的第一個結果)

+0

你想使用忍者或Django?兩者都不是最好的方式。 – Zulu 2014-10-01 18:08:07

回答

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 %} 
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 %} 
+0

This result in'Could not parse the remaining:'[1:]'from''[1:]'' – alias51 2014-10-01 18:08:38

+0

可能會有這個幫助http://stackoverflow.com/questions/12134927/could-not-parse- django – g4ur4v 2014-10-01 18:11:01

+1

如果你想訪問列表中的第一個對象,它將是'{{photos.0}}'不知道如何直接在模板中做更復雜的切片。我會放棄在視圖中的第一張照片,親自 – TehTris 2014-10-01 18:14:15

0

我想這是一個有點晚了答案。但一個解決方案是:

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