分页

Paginator

django内置Paginator类(对象):
使用时需要传入query_set和默认的每页显示数量:

page_object = Paginator(query_set, per_page)

page_object可以直接作为关键字参数传给html文件:

data= { 'student_object': student_object}
return render(request, 'html', context=data

在html文件中使用for循环获取page_object里的内容:
通过page_object的object_list属性来获取列表 然后循环获取

<ul>
    {% for student in page_object.object_list %}
        <li>{{ student.s_name }}</li>
    {% endfor %}
</ul>

Paginator对象有属性page_range可以获取页码列表
通过点击页码来实现跳转

<ul>
    {% for page_index in page_range %}
        <li><a href="{% url 'first:get_student_with_page' %}?page={{ page_index }}">{{ page_index }}</a></li>
    {% endfor %}
</ul>
属性:
count对象总数
num_pages页面总数
page_range页码列表,从1开始
方法
page(整数)获得一个page对象
常见错误
InvalidPagepage()传递的页码无效
PageNotAnintegerpage()传递的不是整数
Emptypage()传递的值有效但是没有数据

Page

对象获得,通过Paginator的page()方法获得

属性:
object_list当前页面上所有的数据对象
number当前页的页码数
paginator当前page关联的Paginator对象
方法
has_next()判断是否有下一页
has_previous()判断是否有上一页
has_other_pages()判断是否有上一页或者下一页
next_page_number()返回下一页的页码
previous_page_number()返回上一页的页码
len()返回当前页的数据的个数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值