django组件 分页器
生活随笔
收集整理的這篇文章主要介紹了
django组件 分页器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 from django.shortcuts import render,HttpResponse
2
3 # Create your views here.
4 from app01.models import *
5 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
6
7 def index(request):
8
9 '''
10 批量導入數據:
11
12 Booklist=[]
13 for i in range(100):
14 Booklist.append(Book(title="book"+str(i),price=30+i*i))
15 Book.objects.bulk_create(Booklist)
16 '''
17
18 '''
19 分頁器的使用:
20
21 book_list=Book.objects.all()
22
23 paginator = Paginator(book_list, 10)
24
25 print("count:",paginator.count) #數據總數
26 print("num_pages",paginator.num_pages) #總頁數
27 print("page_range",paginator.page_range) #頁碼的列表
28
29
30
31 page1=paginator.page(1) #第1頁的page對象
32 for i in page1: #遍歷第1頁的所有數據對象
33 print(i)
34
35 print(page1.object_list) #第1頁的所有數據
36
37
38 page2=paginator.page(2)
39
40 print(page2.has_next()) #是否有下一頁
41 print(page2.next_page_number()) #下一頁的頁碼
42 print(page2.has_previous()) #是否有上一頁
43 print(page2.previous_page_number()) #上一頁的頁碼
44
45
46
47 # 拋錯
48 #page=paginator.page(12) # error:EmptyPage
49
50 #page=paginator.page("z") # error:PageNotAnInteger
51
52 '''
53
54
55 book_list=Book.objects.all()
56
57 paginator = Paginator(book_list, 10)
58 page = request.GET.get('page',1)
59 currentPage=int(page)
60
61
62 try:
63 print(page)
64 book_list = paginator.page(page)
65 except PageNotAnInteger:
66 book_list = paginator.page(1)
67 except EmptyPage:
68 book_list = paginator.page(paginator.num_pages)
69
70
71 return render(request,"index.html",{"book_list":book_list,"paginator":paginator,"currentPage":currentPage})
原文:https://www.cnblogs.com/yuanchenqi/articles/9036515.html
轉載于:https://www.cnblogs.com/lzmdbk/p/9889679.html
總結
以上是生活随笔為你收集整理的django组件 分页器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ORM框架greenDao 2 (用于了
- 下一篇: 网络基础之 Nmap 命令