Django快速分页

简介: 分页在web开发中,对大量的商品进行分页显示,是常见的需求,django对分页直接提供了现成的函数,让我们的开发更为快速便捷...动图_Django快速分页在后端(视图函数中)from django.
分页

在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

目录
相关文章
|
5月前
|
JavaScript 数据库 Python
django实现增删改查分页接口
django实现增删改查分页接口
|
2月前
|
前端开发 关系型数据库 Python
Django入门到放弃之分页器
Django入门到放弃之分页器
|
2月前
|
安全 中间件 项目管理
Django 后端架构开发:分页器到中间件开发
Django 后端架构开发:分页器到中间件开发
40 1
|
4月前
|
JSON 搜索推荐 数据库
Django REST framework数据展示技巧:分页、过滤与搜索的实用配置与实践
Django REST framework数据展示技巧:分页、过滤与搜索的实用配置与实践
|
4月前
|
数据安全/隐私保护 Python
必知的技术知识:django自定义分页器
必知的技术知识:django自定义分页器
|
4月前
|
前端开发 数据库 Python
Python Django项目下的分页和筛选查询
在Django中实现分页功能,视图函数通过`Paginator`处理数据,每页显示10条记录。URL配置支持带参数和不带参数的分页请求。前端模板使用for循环展示分页数据,包括商品信息和状态按钮,并利用分页组件导航。筛选查询视图根据GET请求的`state`参数过滤上架或下架产品,同样实现分页功能。前端添加状态选择下拉框,分页链接携带查询参数`state`确保筛选状态在翻页时保持。
|
11月前
|
Python
28 Django高级- 分页
28 Django高级- 分页
35 0
【Django学习】(十二)GenericAPIView_过滤_排序_分页(上)
【Django学习】(十二)GenericAPIView_过滤_排序_分页
【Django学习】(十二)GenericAPIView_过滤_排序_分页(上)
|
数据库 Python
Django的多对多如何获取到数据并实现搜索分页
python manage.py makemigrations 应用名 python manage.py migrate 应用名 这两个命名是生成迁移文件和迁移数据库
|
Python
django -- 分页
django -- 分页