美文网首页
Django分页显示

Django分页显示

作者: 一纸繁鸢w | 来源:发表于2019-01-04 13:13 被阅读0次

Django自身提供了一些类来实现管理分页,数据被分在不同的页面中,并带有“上一页/下一页”标签。这个类叫做Pagination,其定义位于 django/core/paginator.py 中。

实例:简单分页

  1. views
def index(request):
    users = User.objects.all()
    pindex = request.GET.get("pindex")
    #分页
    pageinator = Paginator(users, 2)
    if pindex=="" or pindex==None:
         pindex = 1
    page = pageinator.page(pindex)
    return render(request,'page_demo/index.html',{'page':page})
  1. templates
遍历:
{% for emp in page.object_list %}
{% endfor %}

分页:
{% if page.has_previous %}
    <a href="/emp/empList/?pindex={{ page.previous_page_number }}">&lt;上一页</a>
{% endif %}
{% for pindex in page.paginator.page_range %}
    {% if pindex == page.number %}
        {{ pindex }}
    {% else %}
        <a href="/emp/empList/?pindex={{ pindex }}">{{ pindex }}</a>
    {% endif %}
{% endfor %}
{% if page.has_next %}
    <a href="/emp/empList/?pindex={{ page.next_page_number }}">&gt;下一页</a>
{% endif %}
  1. 配置urls映射,完成分页

知识点:

  1. pagtor = Paginator(User.objects.all(),per_page=3) # 构造分页器对象
  2. Paginator.count:所有页面对象总数,即统计object_list中item数目。
  3. Pagnator.num_pages:页面总数。
  4. pagiator.page_range:页面范围,从1开始,例如[1,2,3,4]
  5. page = Paginator(User.objects.all(),per_page=3).page(1) # 获取第一页
  6. Page.has_next () 如果有下一页,则返回 True
  7. Page.has_previous () 如果有上一页,返回 True
  8. Page.has_other_pages () 如果有上一页或下一页,返回 True
  9. Page.next_page_number () 返回下一页的页码。如果下一页不存在,抛出 InvlidPage 异常
  10. Page.previous_page_number () 返回上一页的页码。如果上一页不存在,抛出InvalidPage异常
  11. Page.start_index () 返回当前页上的第一个对象,相对于分页列表的所有对象的序号,从1开始。比如,将
    五个对象的列表分为每页两个对象,第二页的 start_index() 会返回 3
  12. Page.end_index () 返回当前页上的最后一个对象,相对于分页列表的所有对象的序号,从1开始。 比如,
    将五个对象的列表分为每页两个对象,第二页的 end_index() 会返回 4
  13. Page.object_list 当前页上所有对象的列表
  14. Page.number 当前页的序号,从1开始
  15. Page.paginator 相关的 Paginator 对象

相关文章

  • Django分页显示

    Django自身提供了一些类来实现管理分页,数据被分在不同的页面中,并带有“上一页/下一页”标签。这个类叫做Pag...

  • Django快速分页

    分页 在web开发中,对大量的商品进行分页显示,是常见的需求,django对分页直接提供了现成的函数,让我们的开发...

  • 分页-Django REST框架

    分页-Django REST框架 pagination.py 分页 Django提供了几个类来帮助您管理分页数据-...

  • Django-分页

    django-分页 一.django自带的分页 以读取UserInfo表为例 1.导入模块 from django...

  • django 使用原生sql及分页

    python3 django 使用原生sql及分页 django 使用原生sql及分页,类似于django res...

  • 分页

    分页 分页库Paginator的基本语法 django提供了分页的工具,存在于django.core中 Pagin...

  • 第20天,分页器

    本篇写了使用Django自有的分页器paginator的用法和自定制分页器 1.1 Django之分页功能 Dj...

  • Django的分页显示功能

    分页功能是django的一个模块,可以直接导入: 主要的方法函数是page,可以通过实例化的paginator.p...

  • Django笔记08-博客首页(2)

    博客首页 博客首页除了显示数据之外,还有登陆跳转、分页显示、搜索等 登陆  django 内置的后台管理应用就是处...

  • django分页功能

    Django中已经实现了很多功能,基本上只要我们需要的功能,都能够找到相应的包。要在Django中实现分页显示,只...

网友评论

      本文标题:Django分页显示

      本文链接:https://www.haomeiwen.com/subject/rwyhrqtx.html