django-分页的演示

分页django - 知乎
https://zhuanlan.zhihu.com/p/90828441

分页生成器的类的导入

from django.core.paginator import Paginator

生成分页器对象

分页器对象 = 分页器类(数据,每一页显示数量)
pag = Paginator(all_data,10)

分页器对象的属性

总页数

得到页数

分页器对象.num_pages

页码数据生成器

可以生成 1 2 3 4 。。。 n

分页器对象.page_range

会得到一个分页页码的生成器

可以遍历这个分页页码生成器,依次获得页码数字

获取某一页

获取第三页的单页对象

分页生成器对象.page(3)

后端生成了单页对象后

就可以把这个单页对象传递给前端

前端拿着这个对象,来生成数据

分页需要有数据

》造数据

在这里插入图片描述

往这里面添加数据

# 添加数据的视图
def add_data_to_test(request):
    for i in range(200):
        title = "标题{:0>4}".format(i)
        models.Test.objects.create(name=title)
    return HttpResponse("success add data")

做个页面显示数据

前端

<h1>分页内容</h1>

<ul>

    {% for data in all_data %}
    <li>{{ data.name }}</li>
    {% endfor %}

</ul>

视图

# 分页的测试
def page(request):
    # 查数据
    all_data = models.Test.objects.all()
    print(all_data)

    return render(request,
                  "page.html",
                  {"all_data": all_data}
                  )

效果

在这里插入图片描述
会显示两百条数据

开始分页。。。。。

导入分页的类

from django.core.paginator import Paginator

获得分页对象

总分页对象 = Paginator(数据列表,一页显示几个)

pag = Paginator(all_data,10)

获取一共有多少页

总分页对象.num_pages

获取分页列表

总分页对象.page_range

获取单页对象

单页数据 = 总分页对象.page(第几页)

获得当前的页码

页码 = 单页对象.number

获得当前页的数据查询集

单页对象.object_list

判断是否有上一页

单页对象.has_previous

判断是否有下一页

单页对象.has_next

返回上一页的页码

单页对象.previous_page_number

返回下一页的页码

单页对象.next_page_number

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值