zoukankan      html  css  js  c++  java
  • 从数据库读出数据分页显示

    #从数据库中把数据读出来  再渲染到页面上
    def book_view(request):
        #book_list=Book.objects.all()
        # return render(request, "book_view.html",{"book_list":book_list})
        #把读取的内容交给页面,然让页面交给浏览器
    
        book_list=Book.objects.all()
        paginator=Paginator(book_list,8)  #每页显示10个
    
        try:
            #当前页,如果取不到默认是1
            current_num=int(request.GET.get("page",1)) #当前页码
            book_list=paginator.page(current_num)  #展示当前页的10条数据
        except EmptyPage:
            book_list=paginator.page(1)  #强制更新为第一页
    
    
        if paginator.num_pages>11: #一般网页显示11页, 左5页,右5页,加上当前页一共11页
            if current_num-5 < 1:   #如果前5页的当前页-5 小于1的时候
                pageRange=range(1,11) #页码是初始状态
            elif current_num+5 > paginator.num_pages: #如果后5页中的当前页+5  大于总页数时
                ## 页码的列表:范围是(当前页-5,总页数+1)。因为range顾头不顾尾,需要加1
                pageRange=range(current_num-5,paginator.num_pages+1)
            else:
                # 页码的列表:后5页正常时,页码范围是(当前页-5,当前页+6)。注意不是+5,因为range顾头不顾尾!
                pageRange=range(current_num-5,current_num+6)
        else:
            pageRange=paginator.page_range  #页码列表
    
        print(paginator.page_range)  #range(1, 11)
        return render(request, "book_view.html", {"book_list": book_list, "current_num": current_num, "paginator": paginator,"pageRange":pageRange})
  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/kenD/p/10073096.html
Copyright © 2011-2022 走看看