分頁功能**:
1from django.shortcuts import
render23
#create your views here.45
models67
89defbooks(request):10#
從url取引數
11 page_num = request.get.get("
page")
12print
(page_num,type(page_num))13#
每一頁顯示多少條資料
14 per_page = 1015#
總資料是多少
16 total_count =models.book.objects.all().count()17#
總共需要多少頁碼來展示
18 total_page, m =divmod(total_count, per_page)
19if
m:20 total_page += 1
21try
:22 page_num =int(page_num)23#
如果輸入的頁碼數超過了最大的頁碼數,預設返回最後一頁的資料
24if page_num >total_page:
25 page_num =total_page
26except
exception as e:27#
當輸入的頁碼不是正經數字的時候,預設返回第一頁的資料
28 page_num = 1
293031#
定義兩個變數儲存資料從哪兒取到哪兒
32 data_start = (page_num-1)*10
33 data_end = page_num*10
3435
3637
#頁面總共展示多少頁碼
38 max_page = 11
39if total_page 40 max_page =total_page
4142
43 half_max_page = max_page // 244#
頁面上展示的頁碼從哪兒開始
45 page_start = page_num -half_max_page46#
頁面上展示的頁碼到哪兒結束
47 page_end = page_num +half_max_page48#
如果當前頁減一半,比1還小
49if page_start <= 1:
50 page_start = 1
51 page_end =max_page
5253
#如果當前頁加一半比總頁碼數還大
54if page_end >=total_page:
55 page_end =total_page
56 page_start = total_page - max_page +1
5758 all_book =models.book.objects.all()[data_start:data_end]
5960
#自己拼接分頁的html**
61 html_str_list =62#
加上第一頁眉頁'
)64#65
#66if page_num <= 1:«'
)68else:69
#«'.format(page_num-1))
7172
for i in range(page_start,page_end +1):73#
如果是當前頁就加乙個active樣式類74#
if i == page_num:75#
tmp = '
'.format(i)76#
else:
77if i ==page_num:
78 tmp = '
'.format(i)
79else
:80 tmp = '
'.format(i)
8182
8384#85
#86if page_num >=total_page:»'
)88else:»
'.format(page_num+1))90#
加上最後一頁末頁'
.format(total_page))
9293 page_html = ""
.join(html_str_list)
9495
9697
return render(request,'
books.html
',)
11)分頁功能
思路 定義四個分頁變數 pagenow 表示第幾頁,該變數是由使用者來決定的,因此是變化的 pagesize 每一頁顯示幾條記錄。由程式制定,也可以由使用者定製 pagecount 表示總共有多少頁。該變數是計算出來 思考,怎樣確定 rowcount 共有多少條記錄。該變數是查詢資料庫得到的 一 如...
修改 ThinkPHP5 分頁功能
1 目標效果 每頁 3 條資料 page admin render return this fetch data admin page page 4 修改框架原始碼 依次找到thinkphp library tink paginator driver bootstrap.php。新增首頁按鈕方法 首...
10分頁查詢
一 格式 limit 跳過的條數,請求的條數 每頁的條數 二 舉例 limit 頁數 1 條數,條數 請求一頁的10條資料 limit 0,10 請求第三頁的5條資料 limit 10,5 請求第五頁的8條資料 limit 32,8 請求第十五頁的10條資料 limit 140,10 1.查詢某錶中...