博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django 分页器制作
阅读量:5146 次
发布时间:2019-06-13

本文共 2551 字,大约阅读时间需要 8 分钟。

views中   

思路:

views

1、将数据库内容按 10条/页 显示在前端

2、排错:EmptyPage  当page=-1时  显示首页

3、当数据量大时,分页器上限制限制页码数量

前端

1、遍历显示数据库传来的当前页信息

2、上一页,下一页的<a>链接

3、利用bootstrap,历遍显示页码,实现鼠标悬浮变色

 

 

views

# 分页器from app01.models import Bookfrom django.core.paginator import Paginator,EmptyPagedef page(request):    '''        book_list=[]        数据批量插入一张数据表中        for i in range(0,101):            book_obj = Book(name='book%s'%i,price=i*i)            book_list.append(book_obj)        Book.objects.bulk_create(book_list)    '''    # 分页器的试用    booklist = Book.objects.all()    paginator = Paginator(booklist,10)  #每页最多显示10个数据    print(paginator.count)   # 数据总数    print(paginator.num_pages)    # 总页数    print(paginator.page_range)    # 页码列表    current_page_num = int(request.GET.get('page', 1))   # 得到一个参数page默认等于1  前端?page=1        #分页器上最多显示11个页码    if paginator.num_pages>11:        if current_page_num-5 <= 0:            page_range = range(1, 11)        elif current_page_num+5> paginator.num_pages:            page_range = range(paginator.num_pages-11,paginator.num_pages+1)        else:            page_range = range(current_page_num - 5, current_page_num + 5)    else:        page_range = paginator.page_range    try:  #防止page=-1时报错        current_page = paginator.page(current_page_num)        for i in current_page:          #遍历当前页的数据            print(i)        # page2 = paginator.page(2)        # page2.has_next()           是否有下一行        # page2.next_page_number()     下一页页码        # page2.has_previous()         是否有上一页        # page2.previous_page_number() 上一页页码     except EmptyPage as e:         current_page = paginator.page(1)  #第一页的page对象    return render(request,'page.html',locals())

 

 

 

前端

    
Title
{#每页显示内容#}
    {% for book in current_page %}
  • {
    { book.name }}:{
    { book.price }}
  • {% endfor %}
{#分页器#}

转载于:https://www.cnblogs.com/zhuzhiwei-2019/p/10679648.html

你可能感兴趣的文章
angularJs的各种服务和指令的使用场景
查看>>
Rabbitmq集群高可用部署详细
查看>>
Mac搭建Java开发环境
查看>>
C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
查看>>
#231-D: declaration is not visible outside of function
查看>>
matlab程序性能优化与混合编程技术介绍
查看>>
推荐学习笔记-协同过滤2
查看>>
英语语法
查看>>
C++标准库简介(转)
查看>>
Linux从入门到精通——控制服务
查看>>
android图片下载问题
查看>>
高并发场景下System.currentTimeMillis()的性能优化
查看>>
OpenCV&Qt学习之三——图像的初步处理
查看>>
常用命令备查
查看>>
大道至简(第四章)读后感
查看>>
SDN第四次作业
查看>>
idea连接服务器上传jar并运行
查看>>
oracle高级分组
查看>>
django--->form表单
查看>>
获取网页源代码
查看>>