美文网首页
分页显示

分页显示

作者: 流蓝浅 | 来源:发表于2018-04-18 16:03 被阅读0次

说明:

分页

 Django 提供了一些类实现管理数据分页,这些类位于 django/core/paginator.py 中

Paginator 对象

 Paginator(列表,int) :返回分页对象,参数为列表数据,每面数据的条数

属性

 count :对象总数

 num_pages :页面总数
page_range :页码列表,从 1 开始,例如 [1, 2, 3, 4]

方法

 page(num) :下标以 1 开始,如果提供的页码不存在,抛出 InvalidPage 异常

异常 exception

 InvalidPage :当向 page()传入一个无效的页码时抛出

 PageNotAnInteger :当向 page()传入一个不是整数的值时抛出

 EmptyPage :当向 page()提供一个有效值,但是那个页面上没有任何对象时抛出

Page 对象

创建对象

 Paginator 对象的 page()方法返回 Page 对象,不需要手动构造

属性

 object_list :当前页上所有对象的列表

 number :当前页的序号,从 1 开始

 paginator :当前 page 对象相关的 Paginator 对象

方法

has_next() :如果有下一页返回 True

 has_previous() :如果有上一页返回 True
has_other_pages() :如果有上一页或下一页返回 True

 next_page_number() :返回下一页的页码,如果下一页不存在,抛出 InvalidPage 异常

 previous_page_number() :返回上一页的页码,如果上一页不存在,抛出 InvalidPage异常

 len() :返回当前页面对象的个数

 迭代页面对象:访问当前页面中的每个对象

示例
1:创建分页视图

def logined_index(request, pindex):
    # return HttpResponse("index")
    articlelist = Article.objects.all()
    p = Paginator(articlelist, 2)  # 按照每页两条进行分页
    if pindex == "":
        pindex = 1
    pindex = int(pindex)
    # 构造page对象
    page = p.page(pindex)
    # 得到页码列表
    plist = p.page_range

    username = request.session.get("username")
    user = User.objects.get(pk=13)
    # print(user.header.url)
    # return render(request, 'pianke/logined_index.html', {'portrait': user.portrait})
    context = {
        "username": username,
        "articlelist": page,
        "portrait": user.portrait,
        # "article": page,
        "plist": plist,
        "request": request,
        "pIndex": pindex,
    }
    return render(request, "pianke/logined_index.html", context)

2:配置url

3:分页展示

  <div class="article">
                {% for item in articlelist %}

                    <div class="detail-intro">
                         <div class="detail-title">
                         <a href="{% url 'pianke:article_detail'%}">{{item.title}}</a>
                         </div>
                        <div class="article-author"><a href="../../pages/user/user.html?uid=1176989" >
                            By&nbsp;/&nbsp;{{item.author.username}}</a></div>
                        <hr style="color: #0f0f0f; width: 100px; margin-left: 20px; margin-top: 20px">
                         <div class="detail-article-intro">
                         {{item.content|truncatechars_html:100 }}
                         </div>

                        <div class="article-others">{{item.visit_num}} k次阅读&nbsp;&nbsp;|&nbsp;&nbsp;评论:{{item.likes}}
                            &nbsp;&nbsp;|&nbsp;&nbsp;喜欢:{{item.likes}} </div>
                    </div>
                {% endfor %}

                {% for pindex in plist %}

                        {% if pIndex == pindex %}

                             {{ pindex }}&nbsp;&nbsp;

                        {% else %}

                             <a href="/pianke/logined_index/{{ pindex }}/">{{ pindex }}</a>&nbsp;&nbsp;

                        {% endif %}
                {% endfor %}
            </div>
          </div>

相关文章

  • mysql——分页技术实现(基于layui框架)

    一.分页技术概述 分页技术: JSP页面,用来显示数据! 如果数据有多条,分页显示,每页显示10条,多页; 好...

  • 无限轮播器

    调用 分页显示

  • 分页显示

    说明: 分页  Django 提供了一些类实现管理数据分页,这些类位于 django/core/pagina...

  • 分页显示

    今天继续调试代码,主要是按照业务的要求,将从数据库中,查询回来的电子回单数据分页显示出来,方便客户查看下载。 因为...

  • 分页显示

    分页: 加载jsp时就显示,因此利用ajax直接写,利用ajax带过去的数据为,第几页,每页显示几条信息两个参数,...

  • 2018-10-10:分页

    分页 真分页使用特定的sql语句,条件查询出指定内容 假分页数据全部取出,在页面分页显示 分页数据pageSize...

  • 2019-05-28 分页设计

    分页组件mricode 分页插件下载 如何使用 首先导入css和js 创建分页显示标签 Ajax分页 初始化 这里...

  • MySQL的分页查询和联合查询以及DML

    分页查询 应用场景 当要显示的数据,一页显示不全,需要分页提交sql请求 语法 offset 要显示条目的起始索引...

  • flutter数据表格DataTable

    可以分页显示的数据列表

  • 文本处理工具及正则表达式

    more:分页查看文件 less:分页控制显示文件 head 查看文件的前几行 tail 查看显示文件的后几行...

网友评论

      本文标题:分页显示

      本文链接:https://www.haomeiwen.com/subject/mjavkftx.html