栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python Django Web开发——内置分页器的学习以及使用Bootstrap的每页器美化前端显示

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python Django Web开发——内置分页器的学习以及使用Bootstrap的每页器美化前端显示

Django 内置的分页器功能 Paginator 非常容易实现数据的分页显示,及对应的控制

先不使用Paginator,自己造一个分页器,主要利用的是数据库查询的数据集的切片。

def get_students(request):
    # 用数据库分页方法实现分页展示
    # http://127.0.0.1:8000/app/getstudents/?page=4&perpage=10,用这个?page=4&perpage=10传递参数
    # 如果没有获取到参数,则设置默认值第1页,每页数量10条
    page=int(request.GET.get('page',1))
    per_page=int(request.GET.get('perpage',10))
    students=Students.objects.all()[per_page*(page-1):per_page*page]
    # students=Students.objects.all()
    data={
        'students':students,
    }
    return render(request,'students.html',context=data)

学生列表

    {% for student in students %}
  • {{ student.s_name }}-年龄是-{{ student.s_age }}
  • {% endfor %}

使用自带的分页器Paginator 功能

# 用Django自带的分页器功能实现分页
def get_students_with_page(request):
    page=int(request.GET.get('page',1))
    per_page=int(request.GET.get('perpage',10))
    students=Students.objects.all()
    paginator=Paginator(students,per_page)
    page_object=paginator.page(page)
    data={
        'object_list':page_object,
        'page_list':paginator.page_range,
    }
    return render(request,'get_students_with_page.html',context=data)

前端的代码附加bootstrap优化显示效果,其中使用 Paginator 的属性

  • number
  • object_list
  • page_range
  • previous_page_number
  • next_page_number
  • has_previous
  • has_next
    其中 has_previous 和has_next 用在分页器的首尾判断是否存在,避免超出范围报错。



    
    登录
    {#    注意 bootstrap和  jquery 不是版本越高越好,要考虑浏览器的版本问题  #}
    {#    #}
    
    {#    #}
    
    





学生列表

    {% for object in object_list.object_list %}
  • {{ object.s_name }}------{{ object.s_age }}
  • {% endfor %}

用paginator实现点击页面跳转到对应的页面内容

    {% for page in page_list %} {# { page }}">{{ page }}#} {{ page }} {% endfor %}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/581330.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号