Django имеет встроенный класс Paginator
, вы можете проверить это: объекты paginator и несколько примеров здесь: Примеры нумерации страниц , для использования в представлении: ИспользованиеРазбиение на страницы в представлении
, если оно ссылается на несколько объектов, тогда пишите имена переменных множественного числа: так что это rows
вместо row
Так что в вашем случае в представлении:
paginator = Paginator(rows, 25) # Show 25 rows per page
page = request.GET.get('page')
rows = paginator.get_page(page)
return render(request, 'example.html', {'rows': rows})
И в HTML:
{% for r in rows %}
{{ r }}<br>
...
{% endfor %}
<div class="pagination">
<span class="step-links">
{% if rows.has_previous %}
<a href="?page=1">« first</a>
<a href="?page={{ rows.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ rows.number }} of {{ rows.paginator.num_pages }}.
</span>
{% if rows.has_next %}
<a href="?page={{ rows.next_page_number }}">next</a>
<a href="?page={{ rows.paginator.num_pages }}">last »</a>
{% endif %}
</span>
</div>