Постраничный вывод в Django

Что называется: "проще некуда"

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 }}">&laquo; назад</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 }}">вперед &raquo;</a>
{% endif %}
</span>
</div>

Вот и все. :)

17.06.2011 10:06  Ключевые словаdjango , paginator

Автор блога создает, продвигает и поддерживает сайты для бизнеса

  • Быстрая и качественная разработка сайтов/приложений
  • Качественная и продуманная SEO подготовка
  • Продвижение через Яндекс.Директ и Гугл.Адвордс


Комментарии: [0]


Добавить комментарий

Внимание! HTML код и ссылки в комментариях отключены.
Комментарии содержащие ссылки, публикуются после модерации.
Имя:


e-mail:



Комментарий:
 

  
   
Λ