使用场景 :在使用flask框架实现分页效果时,由于页数太多显示在页面上会显得特别臃肿和不美观,如下所示:
我相信这问题是我开发过程中经常遇见的,所以要解决此类问题就要对所有页数进行分组显示,才能合理的显示在页面中 ,实现代码如下所示:
-
- def genner_page_range(pagination_pages, c_page, show_page_size):
- """
- 对页码进行分组
- pagination_pages: 总的页数
- c_page: 当前页面
- show_page_size: 一组显示多少页码
- """
- page_ran = []
- arr_len = math.ceil(pagination_pages/show_page_size)
- print(arr_len)
- p = 1
- for i in range(arr_len):
- arr = []
- arr_ran = p + show_page_size
- for c_p in range(pagination_pages+1)[p:arr_ran]:
- arr.append(c_p)
- page_ran.append(arr)
- p = p + show_page_size
-
- # pprint(page_ran)
- # 判断当前页在哪个组里
- for p_arr in page_ran:
- if c_page in p_arr:
- return p_arr
-
- return []
运行结果: