在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})在html中重点运用Paginator对象和page对象
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 %}由于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 %}