博客
关于我
强烈建议你试试无所不能的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

你可能感兴趣的文章
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
WebForm——IIS服务器、开发方式和简单基础
查看>>
小实验3:实现haproxy的增、删、查
查看>>
Angular中ngModel的$render的详解
查看>>
读《格局》| 未到年纪的真理
查看>>
[转]《城南旧事》里的《送别》
查看>>
07动手动脑
查看>>
django知识点总结
查看>>
C++ STL stack、queue和vector的使用
查看>>
OAuth2 .net MVC实现获取token
查看>>
java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查
查看>>
Nginx多域名配置
查看>>
使用Reporting Services时遇到的小问题
查看>>
传递事件和传递命令系统···
查看>>
约瑟夫问题
查看>>
Arduino 报错总结
查看>>
树莓派Android Things物联网开发:树莓派GPIO引脚图
查看>>
Database、User、Schema、Tables、Col、Row
查看>>
ckplayer网页播放器简易教程
查看>>