Что называется: "проще некуда"
views.py
from django.core.paginator import Paginator,InvalidPage, EmptyPage
(В теле представления, после выборки из базы или формирования списка вставляем)
paginator = Paginator(list, 10)
try:
page= int(request.GET.get('page','1'))
except ValueError:
page=1
try:
p_list = paginator.page(page)
except (EmptyPage, InvalidPage):
p_list = paginator.page(paginator.num_pages)
(В шаблоне соответственно будем использовать не list а p_list)
Кусок шаблона для навигации по страницам:
<div class="pagination">
<span class="step-links">
{% if p_list.has_previous %}
<a href="?page={{ p_list.previous_page_number }}">« назад</a>
{% endif %}
<span class="current"> страница {{ p_list.number }} из {{ p_list.paginator.num_pages }} </span>
{% if p_list.has_next %}
<a href="?page={{ p_list.next_page_number }}">вперед »</a>
{% endif %}
</span>
</div>
{% for story in p_list.object_list %}{% endfor %}
Вот и все. :)
Комментарии