zoukankan      html  css  js  c++  java
  • Django学习笔记(6)分页

    django自带分页

     1 from django.core.paginator import Paginator
     2 l = range(1,51)
     3 page_obj = Paginator(l,20)
     4 print(list(page_obj.page(2)))#获取第2页数据
     5 print(page_obj.count)#总共多少条数据
     6 print(page_obj.num_pages)#总共分了多少页
     7 
     8 print(page_obj.page_range)#分页范围
     9 cur_page = page_obj.page(2)
    10 print(cur_page.has_previous())#判断是否有上一页
    11 print(cur_page.previous_page_number())#返回上一页的页码,没有上一页会报错
    12 print(cur_page.has_next())#判断是否有下一页
    13 print(cur_page.next_page_number())#返回下一页的页码,没有下一页会报错
    14 print(cur_page.has_other_pages())#判断是否有其他页,对只有一页数据判断
    15 print(cur_page.paginator)#获取当前页的分页对象也就是page_obj

    view.py 视图中使用分页

     1 from django.core.paginator import Paginator
     2 from .const import page_size
     3 # Create your views here.
     4 def index(request):#首页
     5     #数据来源数据库时,要引用到这个表的这个类
     6     # catagories = Category.objects.filter(is_delete=False)#获取所有数据
     7     page = request.GET.get('page',1)#从url获取page值,获取不到时取1
     8     limit = request.GET.get('limit',page_size)
     9     article = Article.objects.filter(is_delete=False)
    10     page_obj = Paginator(article,limit)
    11     page_data = page_obj.page(page)
    12     data = {'articles':page_data}
    13     return render(request,'index.html',data)#引用数据需要通过字典data引用

    模板html中使用分页样式

     1 {% if articles.has_other_pages %}
     2             <div class="pagelist">
     3             {% if articles.has_previous %}
     4                 <a class="allpage" href="/index?page={{ articles.previous_page_number }}"><b>上一页</b></a>&nbsp;&nbsp;
     5             {% endif %}
     6             {% for page_num in articles.paginator.page_range %}
     7                 <a href="/index?page={{ page_num }}&limit=10" class="curPage">{{page_num}}</a>&nbsp;&nbsp;
     8             {% endfor %}
     9             {% if articles.has_next %}
    10                 <a href="#" onclick="page(2)">下一页</a>
    11             {% endif %}
    12             </div>
    13         {% endif %}
  • 相关阅读:
    【.NET深呼吸】Zip文件操作(1):创建和读取zip文档
    【Win10 应用开发】实现数据的增量加载
    【Win10 应用开发】使用“实时可视化树”工具查看应用界面元素
    将中文字符串分割为数组 解决str_split中文乱码php
    Mac搭建PHP+rabbitMQ环境
    常用笔记:PHP
    常用笔记:MySQL
    常用笔记:Linux
    常用笔记:Web前端
    常用笔记:工具使用
  • 原文地址:https://www.cnblogs.com/bugoobird/p/13355070.html
Copyright © 2011-2022 走看看