要使用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 每頁顯...