django下通过Paginator对象实现分页效果

在views.py下添加:

def heroinfos_list(request,now_page):
    if now_page == "":
        now_page = 1
    page_size = 2
    heroinfos = HeroInfo.objects.all()
    # 获取Paginator对象
    my_paginator = Paginator(heroinfos,page_size)
    #获取page对象,通过page对象的属性获得对应页数的内容
    my_page = my_paginator.page(now_page)

    response = render(request=request,template_name='book/heroinfos_list.html',context={'my_page':my_page,'title':'显示所有英雄'})
    return response

在urls.py文件下原来代码其中一句修改为:

url(r'^heroinfos_list/(\d*)$', views.heroinfos_list),

对应html页面中添加:

        <li>
            <p>
        {% if my_page.has_previous%}
            <a href="/heroinfos_list/{{ my_page.previous_page_number }}">上一页</a>
            {% endif %}

            {% for i in my_page.paginator.page_range %}
            {% if my_page.number == i %}
                <span>{{ i }}</span>
            {% else %}
                <a href="/heroinfos_list/{{ i }}">{{ i }}</a>
            {% endif %}
            {% endfor %}

        {% if my_page.has_next%}
            <a href="/heroinfos_list/{{ my_page.next_page_number }}">下一页</a>
            {% endif %}
            </p>
        </li>

实现效果:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 切换到创建项目的目录 cd C:\Users\admin\Desktop\DjangoProject创建名为pr...
    在努力中阅读 8,577评论 2 3
  • (一)、启动服务器 (二)、创建数据库表 或 更改数据库表或字段 Django 1.7.1及以上 用以下命令 1....
    夏天夏星阅读 11,039评论 0 17
  • 此段内容简要来自自强学堂的教程详情请查询自强学堂 一、 后台的运作流程 接收request请求 处理数据 获取请求...
    coder_ben阅读 10,613评论 6 56
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,040评论 3 119
  • 我也期许 自己有酩酊大醉时 失去理智拨通你的电话 说尽爱你的心酸事 大喊大叫着问你怎么不爱我 朝着你愤懑情感的不公...
    TinaFu阅读 1,917评论 0 0