Сегодня столкнулся с такой необходимостью. Чтобы сделать пагинатор, решил замутить цикл в шаблоне Django в духе:
{% for num in range(1, count_of_pages + 1) %}
<a href="/page{{num}}">{{num}}</a>
{% endfor %}
Работать такой код не будет))). Код Python содержащий функции обычно не работает. Но можно очень просто выкрутиться. Из контекста текущего вьюза в месте с остальными переменными шаблону можно передать что-то типа { ..., 'my_range': range(1, count_of_pages + 1)}
. Теперь в шаблоне доступна переменная my_range
. А дальше с ней можно делать то же, что со списками, итераторами и т.п.:
{% for num in my_range %}
<a href="/page{{num}}">{{num}}</a>
{% endfor %}