打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
django 分页


官方文档连接地址为:https://docs.djangoproject.com/en/2.1/topics/pagination/

在创建分页前先导入模块;

from django.core.paginator import Paginator

paginator对象:

创建格式为:

blogs = Blog.objects.all()

paginator = Paginator(blogs,10)#实例化一个分页对象,设置每一页显示10条 

这里创建分页的同时时一般需要注意下我们在models.py是否这是默认排序,否则会弹出提示信息。

paginator属性:

Paginator.count----所有页面中对象的总数

Paginator.num_pages----总页数

Paginator.page_range----页码迭代器

paginator方法:

Paginator.get_page(number)此方法为2.0新方法。

返回Page具有给定的从1开始的索引对象,同时还处理超出范围和无效页码,如果页码不是数字,则返回第一页。如果页码为负数或大于页数,则返回最后一页。

Page对象:

paginator对象的get_page(num)方法返回得到Page对象

page1 = paginator.get_page(1)

Page属性:

Page.object_list----此页面上的对象列表。

Page.number----此页面上从1开始页码。

Page.paginator----关联paginator对象。

Page方法:

Page.has_next()

True如果有下一页则返回。

Page.has_previous()

True如果有上一页,则返回

Page.has_other_pages()

True如果有下一页或上一页,则返回。

Page.next_page_number()

返回下一页编号。InvalidPage如果下一页不存在则引发。

Page.previous_page_number()

返回上一页编号。InvalidPage如果前一页不存在则引发。

Page.start_index()

返回页面上第一个对象的从1开始的索引,相对于分页器列表中的所有对象。例如,当为每页包含2个对象的5个对象的列             表进行分页时,start_index()将返回第二个页面 3。

Page.end_index()

返回页面上最后一个对象的从1开始的索引,相对于分页器列表中的所有对象。例如,当为每页包含2个对象的5个对象的             列表进行分页时,end_index()将返回第二个页面 4。

Page.previous_page_number()

               返回上一页

Page.next_page_number()

              返回下一页

paginator在views.py中使用:

def blog_list(request):

   blogs_all_list = Blog.objects.all()

   paginator = Paginator(blogs_all_list,10)

   page_num = request.GET.get('page', 1)

   page_of_blogs = paginator.get_page(page_num)

   blog_types = BlogType.objects.all()

   #blogs_counts = Blog.objects.all().count()

   return render(request,'myseit/blog_list.html',{'blog_types':blog_types,'page_of_blogs':page_of_blogs,'paginator':paginator})

在html文件中使用:

 <div class="panel-heading">{% block list_with_type %}博客列表(一共有{{ page_of_blogs.paginator.count }}博客){% endblock %}</div>

yawns_

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
python测试开发django-116.Paginator分页器页数大时显示省略号...
django分页
Django——完美的分页器
基于Django+Bootstrap框架,设计微型小说网站
Django高效率分页方法
在ASP中轻松实现记录集分页显示 >> 正文
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服