Django的页面分页

xiaoxiao2021-02-28  30

操作流程

设置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 %}
转载请注明原文地址: https://www.6miu.com/read-2627079.html

最新回复(0)