django分頁:
fromdjango.shortcutsimportrender
fromdjango.core.paginatorimportpaginator,emptypage, pagenotaninteger
from importmodels
#
分頁物件和當前頁面資料物件的方法均可在模板中以屬性(不加括號)的方式呼叫
book_obj = models.book.objects.all()#
獲取當前書籍所有資訊
paginator = paginator(book_obj,
8)#
例項化分頁物件,每頁顯示
8
條資料
(paginator.count)#
總資料條數
(paginator.num_pages)#
總頁數
(paginator.page_range)#
頁數範圍
current_page_num=
int(request.get.get('page',
1))#
通過
a
標籤的
get
方式請求,預設顯示第一頁
book_objs=paginator.page(current_page_num)#
獲取當前頁面的資料物件,用於響應前端請求進行渲染顯示
ifbook_objs.has_previous():#
當前頁面是否有前一頁
(book_objs.previous_page_number())#
當前頁面的前一頁頁碼
ifbook_objs.has_next():#
當前頁面是否有後一頁
(book_objs.next_page_number())#
當前頁面的後一頁頁碼
try:
(page)
book_objs
= paginator.page(page)
exceptpagenotaninteger:
book_objs
= paginator.page(1)
exceptemptypage:
book_objs
= paginator.page(paginator.num_pages)
#
設定頁面操作的頁碼顯示個數(需要在前端進行是當前頁面資料物件的方法的使用)
page_range=paginator.page_range#
確定頁面範圍,以便進行模板渲染顯示頁碼操作
ifpaginator.num_pages>
5:#
頁碼只顯示
5
頁,總頁數小於
5
頁時,直接全部顯示
ifcurrent_page_num<3:
page_range=
range(1
,6)elifcurrent_page_num+
2>paginator.num_pages:
page_range=
range
(current_page_num-
5,paginator.num_pages+1)
else:
page_range=
range
(current_page_num-
2,current_page_num+3)
returnrender(request,'show.html', )
Django 內建分頁
from django.core.paginator import paginator,page userlist models.user.objects.all paginator paginator userlist,10 per page 每頁顯示條目數量 count 資料總個數 num pa...
Django內建分頁
1 匯入django類生成物件之後的方法 內建分頁需要匯入django中的類 from django.core.paginator import paginator paginator paginator user list,10 第乙個引數是我們查出來的所有的物件,第二個引數表示的是每頁顯示的行數...
Django2 1 內建分頁器
官方文件參考 python提供了內建分頁類,裡面封裝了一些屬性和方法,大大簡化了我們自定義的時間和精力,這個類位於django core paginator.py。from django.core.paginator import paginator from django.core.paginat...