La plantilla de Django constituye la capa de presentación y no es lógica. Desde el docs
Si usted tiene un fondo en la programación, o si estás acostumbrado a las lenguas cuyo código de programación mezcla directamente en HTML, tendrá que tener en cuenta que el sistema de plantillas de Django no es simplemente Python incrustado en HTML. Esto es por diseño: el sistema de plantillas está destinado a expresar la presentación, no la lógica del programa.
Ahora, para obtener la misma funcionalidad en Django, tendrá que completar su lógica en las vistas.
views.py
def my_view(request, ...):
....
enumerated_a = enumerate(a);
....
return render_to_response('my_template.html', {'enumerated_a ': enumerated_a }..)
Ahora enumerate
función devuelve un objeto enumerate que es iterable.
my_template.html
{% for index, item in enumerated_a %}
{{ index }},{{ item }}
{% endfor %}
Aunque creo que es probable que pueda cambiarlo a una lista enumerada y utilizarlo como eso también.
Para referencia: http://docs.djangoproject.com/en/dev/ref/templates/builtins/#for –