Reputation: 1353
I have a fairly simple question, but I can't seem to find a simple solution to it. I'd like to iterate through an array in my Django template but skip the first value.
Let's say I have an array like this that I pass to my template through a view:
array = ['1', '2', '3', '4', '5']
In my template I do :
{% for a in array %} {{ a }} {% endfor %}
How can I do to only print '2' '3' '4' '5', without the first value ?
Upvotes: 11
Views: 5736
Reputation: 409196
{% for a in array %}
{% if not forloop.first %}
{{ a }}
{% endif %}
{% endfor %}
There is of course forloop.last
for the last iteration as well.
They are all listed in the Django reference.
Upvotes: 9
Reputation: 53991
{% for a in array %}
{% if forloop.counter != 1 %}
{{ a }}
{% endif %}
{% endfor %}
Upvotes: 2
Reputation: 1719
{% for a in array|slice:"1:" %}{{ a }}{% endfor %}
See https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#slice for more information.
Upvotes: 30