Django快速分页

作者: zhaoolee | 来源:发表于2017-10-21 18:23 被阅读90次
分页

在web开发中,对大量的商品进行分页显示,是常见的需求,django对分页直接提供了现成的函数,让我们的开发更为快速便捷...

动图_Django快速分页

在后端(视图函数中)

from django.shortcuts import render
from .models import ShowMyComputer
# 引入方法
from django.core.paginator import Paginator
# Create your views here.

def show(request, page_id):

    # 获取需要分页的对象集合
    all_goods = ShowMyComputer.objects.all()

    # 创建分页对象
    paginator = Paginator(all_goods, 3)

    # 根据当前页码,确定返回的数据
    current_page = paginator.page(page_id)

    # 保证前端取到的"页数"为整型
    page_id = int(page_id)


    return render(request, 'computer/list.html', locals())

在前端(html模板中)

<body>
    {# 展示当前页面的数据 #}
    {% for goods in current_page %}
    <div class="my_goods">

        <div class="goods_image">       
            ![图片占位](/static/{{ goods.goods_image }})
        </div>
        
        <br>
        
        <div class="goods_name">{{ goods.goods_name }}</div>

    </div>

    {% endfor %}


    <div class="page_num">

    {# 判断'上一页'是否存在,如果存在则保留`上一页`标签 ,反之则不显示`上一页`标签 #}
    {% if current_page.has_previous %}

        <a href="{% url 'computer:show' current_page.previous_page_number %}">上一页</a>

    {% endif %}


    {# 确定分页数量 #}

    {% for index in paginator.page_range %}

        {# 如果页码与当前页面相符,则添加红色背景 #}
    {% if page_id == index %}
        <a href= "{% url 'computer:show' index %}" style="background-color: red" >{{ index }}</a>
        {# 如果页面与当前页面不符,则正常显示 #}
    {% else %}
        <a href="{% url 'computer:show' index %}" >{{ index }}</a>
    {% endif %}

    {% endfor %}

    {# 判断'下一页'是否存在,如果存在则保留`下一页`标签 ,反之则不显示`下一页`标签 #}
    {% if current_page.has_next%}

        <a href="{% url 'computer:show' current_page.next_page_number %}">下一页</a>

    {% endif %}


    </div>

</body>

文章涉及到的资源我会通过百度网盘分享,为便于管理,资源整合到一张独立的帖子,链接如下:
http://www.jianshu.com/p/4f28e1ae08b1

相关文章

  • Django快速分页

    分页 在web开发中,对大量的商品进行分页显示,是常见的需求,django对分页直接提供了现成的函数,让我们的开发...

  • Django插件pagination实现页面分页功能

    1.dj-pagination 这是一个专门分页的Django插件,可以快速的实现数据分页。官方文档[http:/...

  • 分页-Django REST框架

    分页-Django REST框架 pagination.py 分页 Django提供了几个类来帮助您管理分页数据-...

  • Django-分页

    django-分页 一.django自带的分页 以读取UserInfo表为例 1.导入模块 from django...

  • django 使用原生sql及分页

    python3 django 使用原生sql及分页 django 使用原生sql及分页,类似于django res...

  • 分页

    分页 分页库Paginator的基本语法 django提供了分页的工具,存在于django.core中 Pagin...

  • 第20天,分页器

    本篇写了使用Django自有的分页器paginator的用法和自定制分页器 1.1 Django之分页功能 Dj...

  • (14)Django - 分页功能

    Django已为开发者内置了分页功能,只需调用Django内置分页功能的函数即可实现数据分页功能。我们在Djang...

  • Django3

    django分页,中间件,验证码使用指南 前言 在django中提供了很多的插件功能,有利于开发者快速开发,比如中...

  • 分页显示

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

网友评论

    本文标题:Django快速分页

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