zoukankan      html  css  js  c++  java
  • 【1029 | Day55】自定义分页器

    2. 自定义分页器

    2.1 传统方法

    步骤:

    • step1:获取用户想要访问的页码数

    • step2:每页展示几条数据(比如10页)

    • step3:定义起始位置和终止位置

      • 注意一:起始位置应该是动态的,不能简单定义start_page=0, end_page=10
      • 注意二:current_page 默认拿不到page才取到1,所以我们统一对其转化为字符串
    • step4:统计数据的总条数

    • step5:求数据到底需要多少页才能展示完,实现页数栏动态变化且current_page不能为复数

    是不是觉得很麻烦,又要统计分页,又要注意格式,太鸡儿烦了!!!

    表情

    2.2 使用封装的分页器

    上面的分页好傻好繁琐,虽然我连上面那种方法可能都.....

    表情

    但是总有人能想出来,哈哈哈,果然就有封装好的分页器。

    自定义分页器的使用:新建一个py文件将代码直接拷贝过去

    后端:

    from app01.utils.mypage import Pagination
    # 使用封装好的分页器代码
                
        def login(request):
            book_queryset = models.Book.objects.all()
            current_page = request.GET.get('page', 1)
            all_count = book_queryset.count()
            
            # 1.实例化产生对象
            page_obj = Pagination(current_page=current_page, all_count=all_count)
            
            # 2.对真实数据进行切片操作
            page_queryset = book_queryset[page_obj.start:page_obj.end]
            return render(request,'login.html',locals())
          
    

    前端:

    
    {% for book_obj in page_queryset %}
    	<p>{{ book_obj.title }}</p>
    {% endfor %}
    
    {{ page_obj.page_html|safe }}
     
    
  • 相关阅读:
    Android Activity
    As3 3D学习之rotation
    Android学习之Android自带例子 ContactManager
    Android学习之 Menu
    Android学习之 Intent
    VC++学习之建立窗口
    As3 3D学习之屏幕与3D坐标
    Android学习之 Button onClickListener实现方法
    ClientDataSet 心得
    部分系统路径
  • 原文地址:https://www.cnblogs.com/fxyadela/p/11761095.html
Copyright © 2011-2022 走看看