How do I get odd and even values in a Django for loop template?

https://docs.djangoproject.com/en/dev/ref/templates/builtins/#divisibleby

{% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}

In first level cycle:

{% cycle 'odd' 'even' %}

Reference:

  • Documentation for cycle template tag

<div class="row">
{% for post in posts %}
      {% cycle 'odd' 'even' %}
      {% if cycle == 'odd' %}
        <div class="col-md-6">Odd posts</div>
      {% else %}
        <div class="col-md-6">Even posts</div>
      {% endif %}
    {% endfor %}
</div>

OR

<div class="row">
{% for post in posts %}
   {% if forloop.counter|divisibleby:2 %}
        <div class="col-md-6">Even posts</div>
      {% else %}
        <div class="col-md-6">Odd posts</div>
      {% endif %}
    {% endfor %}
</div>

<div class="row">
{% for post in posts %}
   {% if loop.index is divisibleby 2 %}
        <div class="col-md-6">Even posts</div>
      {% else %}
        <div class="col-md-6">Odd posts</div>
      {% endif %}
    {% endfor %}
</div>

http://mitsuhiko.pocoo.org/jinja2docs/html/templates.html#id3