Guys, I created the range0 (0-index) and range1 (1-index filter $ svn diff defaultfilters.py Index: defaultfilters.py =================================================================== --- defaultfilters.py (revision 1813) +++ defaultfilters.py (working copy) @@ -433,6 +433,14 @@ from pprint import pformat return pformat(value)
+def range0(value): + "A python style range() function, 0-index" + return range(value) + +def range1(value): + "A python style range() function, 1-index" + return range(1, value + 1) + # Syntax: register.filter(name of filter, callback) register.filter(add) register.filter(addslashes) @@ -482,3 +490,5 @@ register.filter(wordcount) register.filter(wordwrap) register.filter(yesno) +register.filter(range0) +register.filter(range1) then use it like this: {% for page_number in pages|range1 %} <a href="./?page={ forloop.counter0 }}">{{ page_number }}</a> {% endfor %}