django paginator基本使用方法

分頁是Web應用經常使用的手法,Django提供了一個分頁器類Paginator(django.core.paginator.Paginator),能夠很容易的實現分頁的功能。該類有兩個構造參數,一個是數據的集合,另外一個是每頁放多少條數據。Paginator的基本使用以下:python

$python manage.py shellweb

>>> from django.core.paginator import Paginatorshell

>>> objects = ['john', 'paul', 'george', 'ringo']django

>>> p = Paginator(objects, 2)      #每頁兩條數據的一個分頁器less

>>> p.count        #數據總數code

4orm

>>> p.num_pages      #總頁數it

2io

>>>p.page_range       #頁碼的列表class

[1, 2]

>>> page1 = p.page(1)     #第1頁

>>> page1

<Page 1 of 2>

>>> page1.object_list     #第1頁的數據

['john', 'paul']

>>> page2 = p.page(2)

>>> page2.object_list      #第2頁的數據

['george', 'ringo']

>>> page2.has_next()     #是否有後一頁

False

>>> page2.has_previous()   #是否有前一頁

True

>>> page2.has_other_pages()   #是否有其餘頁

True

>>> page2.next_page_number()  #後一頁的頁碼

3

>>> page2.previous_page_number()  #前一頁的頁碼

1

>>> page2.start_index()   # 本頁第一條記錄的序數(從1開始)

3

>>> page2.end_index()    # 本頁最後錄一條記錄的序數(從1開始)

4

>>> p.page(0)               #錯誤的頁,拋出異常

...EmptyPage: That page number is less than 1

>>> p.page(3)              #錯誤的頁,拋出異常

...EmptyPage: That page contains no results

>>>p.page('a')             #錯誤的頁,拋出異常

...PageNotAnInteger: That page number is  not an integer

相關文章
相關標籤/搜索