分页代码

 1 class PageHelper:
 2     def __init__(self, count, page, per_num=10, show_page=11):
 3         # 总数
 4         self.count = count
 5         # 当前的页码
 6         self.page = page
 7         # 每页的个数
 8         self.per_num = per_num
 9         if show_page % 2:
10             self.show_page = show_page
11         else:
12             self.show_page = show_page + 1
13 
14         self.pagelist = []
15 
16         self.pagelist.append(" <a href='/classes?p=1'>第一页</a>")
17         if page <= 1:
18             self.pagelist.append(" <a href='javascript: void(0)'>上一页</a>")
19         else:
20             self.pagelist.append(" <a href='/classes?p={}'>上一页</a>".format(self.page - 1))
21 
22     def pagestr(self):
23         startpage = 1
24         endpage = 1
25         step = self.show_page // 2
26         # 确定分多少页
27         b, r = divmod(self.count, self.per_num)
28         if r:
29             # 如果余数不为0,页数加1
30             b += 1
31         if b <= self.show_page:
32             startpage = 1
33             endpage = b
34         elif self.page - step <= 1:
35             startpage = 1
36             endpage = self.show_page
37         elif self.page + step >= b:
38             startpage = b - self.show_page + 1
39             endpage = b
40         else:
41             startpage = self.page - step
42             endpage = self.page + step
43 
44         for i in range(startpage, endpage + 1):
45             if self.page == i:
46                 self.pagelist.append(" <a href='/classes?p={}' style='background-color: aqua'>{}</a>".format(i, i))
47             else:
48                 self.pagelist.append(" <a href='/classes?p={}' >{}</a>".format(i, i))
49 
50         if self.page >= b:
51             self.pagelist.append(" <a href='javascript: void(0)'>下一页</a>")
52         else:
53             self.pagelist.append(" <a href='/classes?p={}'>下一页</a>".format(self.page + 1))
54         self.pagelist.append(" <a href='/classes?p={}'>尾页</a>".format(b))
55 
56         return "".join(self.pagelist)
原文地址:https://www.cnblogs.com/twotigers/p/8157415.html