使用场景 :在使用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 []
运行结果: