Django 五 分頁器(paginator)

2021-08-07 14:14:39 字數 1970 閱讀 1362

分頁器的使用

>>> from django.core.paginator import paginator

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

>>> p = paginator(objects, 2)

>>> p.count #資料總數

4>>> p.num_pages #總頁數

2>>> type(p.page_range) # `` in python 2.

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

range(1, 3) # *****====[1,2]

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

>>> page1

>>> page1.object_list #第1頁的資料

['john', 'paul']

>>> page2 = p.page(2)

>>> page2.object_list #第2頁的資料

['george', 'ringo']

false

true

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

true

traceback (most recent call last):

...emptypage: that page contains no results

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

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

>>> p.page(0) #錯誤的頁,丟擲異常

traceback (most recent call last):

...emptypage: that page number is less than 1

>>> p.page(3) #錯誤的頁,丟擲異常

traceback (most recent call last):

...emptypage: that page contains no results

實現乙個分頁效果:

template:

分頁器

'''批量匯入資料:

booklist=

for i in range(100):

book.objects.bulk_create(booklist)

'''book_list=book.objects.all()

paginator = paginator(book_list, 10)

page = request.get.get('page',1)

currentpage=int(page)

try:

print(page)

book_list = paginator.page(page)

except pagenotaninteger:

book_list = paginator.page(1)

except emptypage:

book_list = paginator.page(paginator.num_pages)

return render(request,"index.html",locals())

Django 框架10 分頁器的使用

django提供了一些類實現管理資料分頁,這些類位於django core paginator.py中 1.paginator物件 paginator 列表,int 返回分頁物件,引數為列表資料,每面資料的條數 2.屬性 count 物件總數 num pages 頁面總數 page range 頁碼...

EntityFramework高階(五) 分頁

我們建立分頁資訊類commonpagedlist,包含了字段總條數,總頁數,當前頁碼,頁大小,當前頁資料。using system using system.collections.generic using system.linq using system.text using system.th...

django高階(四)分頁

paginator中提供了一些類來實現資料管理分頁,這些類存在於django core paginator.py paginator物件,對所有的資料進行分頁,該物件有乙個方法page num 返回某一頁,生成乙個page物件。paginator 列表,int 返回分頁物件,引數為列表資料,每面資料...