Django的分頁器(paginator

2021-09-19 01:34:02 字數 2706 閱讀 6168

一、分頁

'''批量匯入資料:

booklist=

for i in range(100):

book.objects.bulk_create(booklist)

''''''

分頁器的使用:

book_list=book.objects.all()

paginator = paginator(book_list, 10)

print("count:",paginator.count) #資料總數

print("num_pages",paginator.num_pages) #總頁數

print("page_range",paginator.page_range) #頁碼的列表

page1=paginator.page(1) #第1頁的page物件

for i in page1: #遍歷第1頁的所有資料物件

print(i)

print(page1.object_list) #第1頁的所有資料

page2=paginator.page(2)

# 拋錯

#page=paginator.page(12) # error:emptypage

#page=paginator.page("z") # error:pagenotaninteger

'''book_list=book.objects.all()

paginator = paginator(book_list, 10)

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

currentpage=int(page)

try:

print(page)

book_list = paginator.page(page)

except pagenotaninteger:

book_list = paginator.page(1)

except emptypage:

book_list = paginator.page(paginator.num_pages)

return render(request,"index.html",)view.py

def chakanbook(request):

'''批量匯入

booklist =

for i in range(100):

models.book.objects.bulk_create(booklist)

:param request:

:return:

'''book_list = models.book.objects.all()# book_list列印的是乙個物件 先檢視所有的書

paginator=paginator(book_list,5) #這裡的book_list必須是乙個集合物件,把所有的書分頁,一頁有五個

print(paginator.page_range) #range(1, 4)

num = request.get.get("page",2)#得到頁數範圍,預設有1頁

print(num,type(num))

book_list = paginator.page(num) #顯示第一頁的內容

return render(request,"chakan.html",)

分頁器

def index(request):

book_list=book.objects.all()

paginator = paginator(book_list, 15)

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

currentpage=int(page)

# 如果頁數十分多時,換另外一種顯示方式

if paginator.num_pages>30:

if currentpage-5<1:

pagerange=range(1,11)

elif currentpage+5>paginator.num_pages:

pagerange=range(currentpage-5,paginator.num_pages+1)

else:

pagerange=range(currentpage-5,currentpage+5)

else:

pagerange=paginator.page_range

try:

print(page)

book_list = paginator.page(page)

except pagenotaninteger:

book_list = paginator.page(1)

except emptypage:

book_list = paginator.page(paginator.num_pages)

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

Django元件 分頁器

批量匯入資料 booklist for i in range 100 book.objects.bulk create booklist 分頁器的使用 book list book.objects.all paginator paginator book list,10 print count pa...

Django元件 分頁器

批量匯入資料 booklist for i in range 100 book.objects.bulk create booklist 分頁器的使用 book list book.objects.all paginator paginator book list,10 print count pa...

django分頁器Paginator的基本使用

說明 為了方便,這部分我沒有使用queryset做資料來源,而是用乙個列表做資料來源 from django.core.paginator import paginator 假設下面的列表就是我們要分頁的資料,我們希望每頁顯示3個名字 source 黑沼爽子 風早翔太 碓氷拓海 玖蘭樞 錐生零 入江...