1. 程式人生 > >Django 內建分頁

Django 內建分頁

from django.core.paginator import Paginator,Page
userList = models.User.objects.all()

paginator = Paginator(userList,10)
# per_page : 每頁顯示條目數量
# count : 資料總個數
# num_pages : 總頁數
# page_range : 總頁數的索引範圍
# page : page物件

pageObj = paginator.page(2) # 需要跳轉的頁碼
# has_next : 是否有下一頁
# next_page_number : 下一頁頁碼
# has_previous : 是否有上一頁
# previous_page_number : 上一頁頁碼
# object_list : 分頁後的資料列表
# number : 當前頁
# paginator : paginator物件

return render(request,'index.html',{'pageObj' : pageObj})

Paginator異常捕獲

EmptyPage : 當前頁資料為空異常

- PageNotAnIngeter : 頁面不是整數異常

from django.core.paginator import Paginator,Page,EmptyPage,PageNotAnInteger # 匯入分頁函式
	try:
		pageObj = paginator.page(pageNum)
	except (EmptyPage,PageNotAnInteger) as error:
		return redirect('/index/')