操作流程
- 设置views方法,并链接到html中
- 在html中显示
1.views方法
在app项目中设定函数:主要设定展示每页多少信息,切换当前页数
def a(request):
if request.method == 'GET':
#表示获得html中翻页的页数是多少,默认是第一页
a = int(request.GET.get('pag_id',1)
#得到所有的信息
stu = XXX.objects.all()
#信息每页展示3个
p = Paginator(stu,3)
#当前是多少页
pp = pangina.page(a)
return render(request,'xxxx.html',{'stu':pp})
2.Html中的方法
在html中重点运用Paginator对象和page对象
paginator对象
1.总页数
.num_pages
2.总共有多少信息
count
3.分页信息——每页都显示出来,因此需要用for in循环来获取
page_range
下面结合起来写
<h4>一共{{ stu.paginator.num_pages }}页 {{ stu.paginator.count }}条信息</h4>
{% for a in stu.paginator.page_range %}#循环展示一共多少信息 且设定为pag_id 在views中可以调用
<a href="/st/pag/?pag_id={{ a }}">{{ a }}</a>
{% endfor %}
page对象
由于app方法中引入的就是page对象因此直接调用即可
1.判断是否有下一页
has_next
2.跳转到下一页
next_page_number
3.判断是否有上一页
has_previous
4.跳转到上一页
previoius_page_number
5.当前页数
number
下面一共展示出上下页面切点击后获得pag_id给views中使用,然后显示当前页面
{% if stu.has_previous %}
<a href="/st/pag/?pag_id={{ stu.previous_page_number }}">上一页</a>
{% endif %}
当前第{{ stu.number }}页
{% if stu.has_next %}
<a href="/st/pag/?pag_id={{ stu.next_page_number }}">下一页</a>
{% endif %}