页码的控制

本文详细介绍了在总页数已知的情况下,如何根据当前页码动态调整分页导航显示的页码范围,确保用户界面友好且高效。具体策略包括:当总页数少于5页时显示所有页;当前页为前3页时显示前5页;当前页为后3页时显示最后5页;其他情况下显示当前页前后各2页。

当获取到总页数时。且每页最多显示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)

 

转载于:https://www.cnblogs.com/zengsf/p/10094744.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值