分页器

Posted rongge95500

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分页器相关的知识,希望对你有一定的参考价值。

课前补充:批量插入数据

models.py文件

from django.db import models


# 创建数据表
class Book(models.Model):
    name = models.CharField(max_length=32)
    price = models.DecimalField(max_digits=5, decimal_places=2)

views.py文件

from django.shortcuts import render, HttpResponse
from page import models


# Create your views here.
def index(request):
    book_list = []
    # 循环创建302本书
    for i in range(302):
        # 将书籍添加到 book_list 列表中
        book_list.append(models.Book(name=‘Book%s‘ % i, price=22 + i))
    # bulk_create 需要两个参数:1、对象列表;2、一次插入的数据量,不填,默认一次全插入
    models.Book.objects.bulk_create(book_list)

    return HttpResponse(‘ok‘)

正课开始

首先,大家知道什么叫分页器不??有哪位童鞋知道呢??没有啊!!!很好啊,没关系,那我给大家讲一下,这个分页器呢简单讲就是起到一个作用:分页!!当然,最重要的就是分页的功能昂。接下来咱们说说它的一些属性,看下面哈!!

首先,我们要导入一个类(Paginator),然后让它实例化出一个对象来,要不还是看代码吧!!!

 

from django.core.paginator import Paginator

# 实例化产生一个对象
paginator = Paginator(object_list, per_page)  # object_list: 对象列表, per_page:每页显示的数据量
假如:object_list = book_list, per_page = 10
# 对象内的属性
# 数据总数:book_list 内的数据条数
print(paginator.count)
# 总页数 10
print(paginator.num_pages)
# 页码数的列表
print(paginator.page_range)
# 取到第 x 页 ,返回一个Page对象
current_page = paginator.page(5)
# 当前页码内所有的数据
print(current_page.object_list)
# 是否有下一页
print(current_page.has_next())
# 是否有上一页
print(current_page.has_previous())
# 下一页页码数
print(current_page.next_page_number())
# 上一页的页码数
print(current_page.previous_page_number())

 

好,很好!!有上面的基础,那我们接着来往下看

 

以上是关于分页器的主要内容,如果未能解决你的问题,请参考以下文章

FragmentStatePagerAdapter视图分页器片段在重新创建活动后未显示

Django—分页器与form组件

react 分页器 基于react-virtualized组件的分页器

第六章分页器组件

自定义分页器

django中的分页器