使用Django實現分頁器功能

2022-05-26 14:00:19 字數 2192 閱讀 9252

要使用django實現分頁器,必須從django中匯入paginator模組

from django.core.paginator import paginator
假如現在有150條記錄要顯示,每頁顯示10條

>>> from django.core.paginator import paginator#匯入paginator模組

>>> list1=[i for i in range(0,150)]#使用列表生成器生成乙個包含150個數字的列表

>>> page1=paginator(list1,10)#生成乙個paginator物件

>>> print(page1.count)#列印總的記錄數,即列表list1的長度

150>>> print(page1.num_pages)#列印總的頁數,即總記錄數除以每頁顯示的條目數

15>>> print(page1.page_range)#頁數的列表

range(1, 16)

>>> print(page1.page(1))#列印第一頁的page物件

>>> page1.page(1).object_list#列印第一頁的所有記錄

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> page1.page(2).object_list#列印第二頁的所有記錄

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

3true

true

>>> page1.page(2).has_other_pages()#第2是否有其他頁

true

>>> page1.page(2).start_index()#第2頁第一條記錄的序號

11>>> page1.page(2).end_index()#第2頁最後一條記錄的序號

20>>> page1.page(0)#第0頁是否有記錄,會報錯

traceback (most recent call last):

file "", line 1, in ...

raise emptypage(_('that page number is less than 1'))

django.core.paginator.emptypage: >>> page1.page(15)#列印第15頁的物件

例子,使用django實現乙個分頁效果

前端**:

分頁器 }}

後端**:

#匯入render和httpresponse模組

#匯入paginator,emptypage和pagenotaninteger模組

from django.core.paginator import paginator, emptypage, pagenotaninteger

#從django專案的應用中匯入模組

def index(request):

#獲取book資料表中的所有記錄

book_list=book.objects.all()

#生成paginator物件,定義每頁顯示10條記錄

paginator = paginator(book_list, 10)

#從前端獲取當前的頁碼數,預設為1

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

#把當前的頁碼數轉換成整數型別

currentpage=int(page)

try:

print(page)

book_list = paginator.page(page)#獲取當前頁碼的記錄

except pagenotaninteger:

book_list = paginator.page(1)#如果使用者輸入的頁碼不是整數時,顯示第1頁的內容

except emptypage:

book_list = paginator.page(paginator.num_pages)#如果使用者輸入的頁數不在系統的頁碼列表中時,顯示最後一頁的內容

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

django 實現分頁功能

分頁效果 檢視 1 coding utf 8 2 from django.shortcuts import render,get object or 404 3 from django.core.paginator import paginator,pagenotaninteger,emptypag...

django 分頁功能

django 分頁功能 django自帶了paginator,功能有一定侷限,使用django pure pagination功能更為強大 github傳送門 1 使用pip源安裝 pip install django pure pagination pure pagination 3 在setti...

django分頁功能

採用django自帶的paginator功能 from django.core.paginator import paginator food foodinfo.objects.filter food name contains searchstr pag paginator food,25 每頁顯...