Django的分頁顯示實現

2021-08-30 10:48:25 字數 1929 閱讀 3881

django中提供了乙個類paginator專門用來管理和處理分頁資料,所以我們在使用之前先導入好相應的類,,另外這裡我們也匯入了待會會用到的處理異常的兩個類emptypagepagenotaninteger

from django.core.paginator import paginator, emptypage, pagenotaninteger
接著編寫好檢視函式test:

def test(request):

course_list=coursevideo.objects.all()

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

paginator=paginator(course_list,10)

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

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

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

currentpage=int(page)

try:

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

except pagenotaninteger:

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

except emptypage:

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

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

接下來我們完成前端頁面的邏輯,這裡定義的檔案為test.html:

}}}上傳修改

詳情 }}

from django.core.paginator import paginator

objects = ['john','paul','george','ringo','lucy','meiry','checy','wind','flow','rain']

p = paginator(objects,3) # 3條資料為一頁,例項化分頁物件

print p.count # 10 物件總共10個元素

print p.num_pages # 4 物件可分4頁

print p.page_range # xrange(1, 5) 物件頁的可迭代範圍

page1 = p.page(1) # 取物件的第一分頁物件

print page1.object_list # 第一分頁物件的元素列表['john', 'paul', 'george']

print page1.number # 第一分頁物件的當前頁值 1

page2 = p.page(2) # 取物件的第二分頁物件

print page2.object_list # 第二分頁物件的元素列表 ['ringo', 'lucy', 'meiry']

print page2.number # 第二分頁物件的當前頁碼值 2

print page1.has_previous() # 第一分頁物件是否有前一頁 false

print page1.has_other_pages() # 第一分頁物件是否有其它頁 true

print page2.has_previous() # 第二分頁物件是否有前一頁 true

print page2.start_index() # 第二分頁物件的元素開始索引 4

print page2.end_index() # 第2分頁物件的元素結束索引 6

Django 實現web分頁顯示

從資料庫取出資料,根據事先定義的每頁顯示的數量,進行分頁計算,得到頁數,構造html,返回給前端解析顯示。大致分為兩種 def page student list request,page page int page start num page 1 10 end num page 10 db st...

Django 分頁的簡單實現

django分頁比較簡單,它內建了乙個paginator類.這樣對分頁的操作只需要明白這個類就ok了。def list request after range num 5 bevor range num 4 try page int request.get.get page 1 print page...

django 實現分頁功能

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