• django分页


    from django.core.paginator import Paginator
    objects = ['john', 'paul', 'george', 'ringo', 'lucy', 'meiry', 'checy', 'wind', 'flow', 'rain']
    p = Paginator(objects, 3)  # 3条数据为一页,实例化分页对象
    print (p.count)  # 10 对象总共10个元素
    print p.num_pages  # 4 对象可分4页
    print p.page_range  # xrange(1, 5) 对象页的可迭代范围
    
    page1 = p.page(1)  # 取对象的第一分页对象
    print page1.object_list  # 第一分页对象的元素列表['john', 'paul', 'george']
    print page1.number  # 第一分页对象的当前页值 1
    
    page2 = p.page(2)  # 取对象的第二分页对象
    print page2.object_list  # 第二分页对象的元素列表 ['ringo', 'lucy', 'meiry']
    print page2.number  # 第二分页对象的当前页码值 2
    
    print page1.has_previous()  # 第一分页对象是否有前一页 False
    print page1.has_other_pages()  # 第一分页对象是否有其它页 True
    
    print page2.has_previous()  # 第二分页对象是否有前一页 True
    print page2.has_next()  # 第二分页对象是否有下一页 True
    print page2.next_page_number()  # 第二分页对象下一页码的值 3
    print page2.previous_page_number()  # 第二分页对象的上一页码值 1
    print page2.start_index()  # 第二分页对象的元素开始索引 4
    print page2.end_index()  # 第2分页对象的元素结束索引 6
    • views.py下
    from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
    def
    index(request): all_data = Person.objects.all() pagin = Paginator(all_data,3)#3代表3条数据为一页 page = request.GET.get('page') try: current_page = paginator.page(page) except PageNotAnInteger:#不是整数默认首页 current_page = paginator.page(1) except EmptyPage:#为空的时候默认是尾页 current_page = paginator.page(paginator.num_pages) all_data = current_page.object_list#获取当前页面的所有元素对象 returnrender(request,'index.html',{'all_data':all_data,'current_page':current_page})
    • HTML页面内容

    p = Paginator(data,num)#实例化
    p.count #对象共有多少个元素
    p.num_pages #对象共分为多少页
    p.page_range #页数迭代范围
    current_page = p.page(page) #取对象的当前页
    current_apge.number 
    current_page.has_previous
    current_page.has_next
    current_page.previous_page_number
    current_page.next_page_number
    current_page.paginator.page_range
    •  模板页面例子
      <!DOCTYPE html>
      <html>
      <head>
          <title>分页练习</title>
      </head>
      <body>
          {{ contact_list }}
          {% if current_page.has_previous %}
              <a href="?={{ current_page.previous_page_number }}">上一页</a>
          {% endif %}
      
          {% for pg in current_page.paginator.page_range %}
              {% if pg == current_page.number %}
                  <li class="active"><a href="?page={{ pg }}">{{ pg }}</a></li>
              {% else %}
                  <li class='active'><a href="?page={{ pg }}">{{ pg }}</a></li>
              {% endif %}
          {% endfor%}
      
          {% if current_page.has_next %}
              <a href="?page={{ current_page.next_page_number }}">下一页</a>
          {% endif %}
      </body>
      </html>
  • 相关阅读:
    【命令】yum命令
    【程序包管理】篇章3:CentOS平台下软件包安装方法总结
    【程序包管理】篇章2:rpm程序包来源合法和完整性验正
    【命令】gunzip命令
    【程序包管理】篇章1:程序包管理的基础知识(了解,了解了之后会让我们对程序包的安装很有帮助)
    【命令】man命令帮助文档详解
    【基础】系统关机、重启、注销详解
    kali源更新
    第二届强网杯wp
    Jarvis OJ [XMAN]level1 write up
  • 原文地址:https://www.cnblogs.com/kmnskd/p/10008569.html
Copyright © 2020-2023  润新知