码迷,mamicode.com
首页 > 其他好文 > 详细

django 分页函数

时间:2018-10-21 11:19:47      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:实现类   ota   pre   标签   style   ati   pytho   分页   [1]   

实现类似:

上一页 1 ... 4 5 6 7 8 ... 89 下一页

的效果

 

def pageGenerate(fullList,pagenum,urltype,type,currpage):
    pageObj=Paginator(fullList,pagenum)
    totalPage=pageObj.num_pages
    pageitems=pageObj.page(currpage).object_list
    #上下页标签
    if pageObj.page(currpage).has_next():
        next_page=currpage+1
    else:
        next_page=0
    if pageObj.page(currpage).has_previous():
        previous_page=currpage-1
    else:
        previous_page=0

    #数字页,前后各2页
    pageresult=[]
    link={-2:currpage-2,-1:currpage-1,0:currpage,1:totalPage-currpage-1,2:totalPage-currpage-2}
    for k,v in link.items():
        if v>0:
            pageresult.append(currpage+k)

    if pageresult[0]==2:
        pageresult=[1]+pageresult
    elif pageresult[0]>2:
        pageresult=[1,0]+pageresult
    if pageresult[len(pageresult)-1]+1==totalPage:
        pageresult=pageresult+[totalPage]
    elif pageresult[len(pageresult)-1]+1<totalPage:
        pageresult = pageresult + [0,totalPage]

    pagerelease={‘pageitems‘:pageitems,‘urltype‘:urltype,‘type‘:type,‘currpage‘:currpage,‘previous_page‘:previous_page,‘pageresult‘:pageresult,‘next_page‘:next_page}
    return pagerelease

  

django 分页函数

标签:实现类   ota   pre   标签   style   ati   pytho   分页   [1]   

原文地址:https://www.cnblogs.com/pythonClub/p/9824359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!