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

你可能感兴趣的文章
C++ 面向对象 类成员函数this指针
查看>>
inline函数的总结
查看>>
【Jquery】$.Deferred 对象
查看>>
Python字符编码
查看>>
leetcode 49. 字母异位词分组(Group Anagrams)
查看>>
NSPredicate的使用,超级强大
查看>>
自动分割mp3等音频视频文件的脚本
查看>>
财务结算的目的和一般流程
查看>>
判断字符串是否为空的注意事项
查看>>
布兰诗歌
查看>>
老李分享:5个衡量软件质量的标准
查看>>
Xcode部分插件无法使用识别的问题
查看>>
set学习记录
查看>>
用函数写注册功能
查看>>
JVM笔记4:Java内存分配策略
查看>>
IE8 window.open 不支持此接口 的问题解决
查看>>
Django -- 发送HTML格式的邮件
查看>>
最近面试问题汇总
查看>>
ORM版学员管理系统3
查看>>
修改安卓虚拟机系统镜像
查看>>