首页 > 其他 > 详细

Django实现基本的页面分页

时间:2021-05-07 18:57:33      阅读:27      评论:0      收藏:0      [点我收藏+]

1.视图views.py

from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage

def index(request):
    all = Blog.objects.all()               # 获取全部数据的对象

    paginator = Paginator(all,2)            # 创建对象,将all分成每页2条数据
    if request.method == GET:                       # 前端get传参
        page = request.GET.get(page)                  # 获取前端传进来的页数page
        try:
            info = paginator.page(page)                  # 获取所传页数的数据对象
        except PageNotAnInteger:        # 如果请求的页数不是整数, 返回第1页
            info = paginator.page(1)
        except EmptyPage:            # 如果请求的页数不在合法的页数范围内,返回结果的末尾页
            info = paginator.page(paginator.num_pages)

        return render(request,blog/index.html,{info:info})          #将获取的页的对象传到前端页面

 

2.模板template代码

<div>
    {# 如果有上一页 #}
    {% if info.has_previous %}
    {# 点击跳转到上一页,以get方式传递上一页的页码数到后端 #}
    <a class=‘active‘ href="http://139.198.16.166:8000/index/?page={{ info.previous_page_number }}">上一页</a>
    {% endif %}

    {# 显示当前页数#}
    <span class="current">第{{ info.number }}页 | 共{{ info.paginator.num_pages }}页</span>

    {# 如果有下一页 #}
    {% if info.has_next %}
    {# 同上 #}
    <a class=‘active‘ href="http://139.198.16.166:8000/index/?page={{ info.next_page_number }}">下一页</a>
    {% endif %}
</div>

 

Django实现基本的页面分页

原文:https://www.cnblogs.com/zhangyh-blog/p/14738929.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!