django提供了分页的工具,存在于django.core中
Paginator : 数据分页工具
Page : 具体的某一页面
导入Paginator:
from django.core.paginator import Paginator
per_page = 3
users = User.objects.all()
p = Paginator(users,per_page)
属性:
count:对象总数
num_pages:页面总数
page_range: 页码列表,从1开始
**
page:对象获得,通过Paginator的page()方法获得
p2 = p.page(page) // page当前页面
属性:
object_list: 当前页面上所有的数据对象
number: 当前页的页码值
paginator: 当前page关联的Paginator对象
方法:
has_next() :判断是否有下一页
has_previous():判断是否有上一页
has_other_pages():判断是否有上一页或下一页
next_page_number():返回下一页的页码
previous_page_number():返回上一页的页码
len():返回当前页的数据的个数
{% if p2.has_previous %}
<a href="{% url 'paginate' p2.previous_page_number %}">
{% else %}
<a href="#">
{% endif %}