用django做分页

from django.utils.safestring import mark_safe
#这是假设有109篇文章,仅做实验,到时候是数据库里的
LIST = []
for i in range(109):
    LIST.append(i)
def paging(request):
    #获取当前页数(?p=...)
    current_page = request.GET.get('p',1)
    current_page = int(current_page)
    #用列表的切片,控制一页中显示多少篇文章,这里是10篇
    start = (current_page-1) * 10
    end = current_page * 10
    data = LIST[start:end]
    #开始做网页面下面显示的数字,也就是页数,divmod获取两个值一个是除数,一个是余数
    count,y = divmod(len(LIST),10)
    count_page = []
    #如果余数不为0,则页数加一
    if y:
        count = count+1
    #循环所有页数,附上a标签和数字,mark_safe是将字符串转换成网页认识的标签(防止xss攻击)
    for item in range(1,count+1):
    #在这里还可以做一个判断,如果当前页数等于item,就给当前页加一个class
        temp = "<a href='/app02/paging?p=%s'>%s</a>"%(item,item)
        temp = mark_safe(temp)
        count_page.append(temp)
    return render(request,'paging.html',{"count_page":count_page,'data':data})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值