笔记:django分页

# 对数据进行分页
paginator = Paginator(skus, 1)

# 获取第page页的内容
try:
page = int(page)
except Exception as e:
page = 1

if page > paginator.num_pages:
page = 1

# 获取第page页的Page实例对象
skus_page = paginator.page(page)

# todo: 进行页码的控制,页面上最多显示5个页码
# 1.总页数小于5页,页面上显示所有页码
# 2.如果当前页是前3页,显示1-5页
# 3.如果当前页是后3页,显示后5页
# 4.其他情况,显示当前页的前2页,当前页,当前页的后2页
num_pages = paginator.num_pages
if num_pages < 5:
pages = range(1, num_pages+1)
elif page <= 3:
pages = range(1, 6)
elif num_pages - page <= 2:
pages = range(num_pages-4, num_pages+1)
else:
pages = range(page-2, page+3)

context = {
'skus_page':skus_page,
'pages':pages

}

 

posted @ 2020-08-03 13:35  大牛等等我  阅读(87)  评论(0编辑  收藏  举报