Django基础06篇 分页
1.导入Django自带的分页类
from django.core.paginator import Paginator
2.分页类的使用
def index(request):
# return HttpResponse('hello django!')
limit = request.GET.get('limit',5)
page_number = request.GET.get('page',1)
articles = models.Article.objects.all()
page = Paginator(articles,limit) # 分页后的对象
articles = page.page(page_number) # 当前页的数据 print(articles.has_next()) # 有没有下一页
# print(articles.next_page_number())#下一页的页码,有下一页的话才有
print(articles.has_other_pages()) # 有没有其他页
print(articles.has_previous()) # 有没有上一页
# print(articles.previous_page_number())#上一页的页码
print(articles.number) # 当前页的页码
print(articles.start_index()) # 当前这一页的第一条数据的下标
print(articles.end_index()) # 当前这一页的最后一条数据的下标
# articles.paginator #就是上面分页完之后的对象 print(page.num_pages) # 总共多少页
print(page.page_range) # 分页的范围 1 2 3 4
# articles.paginator.num_pages
# title = 'my blog'
return render(request, 'index.html', {'articles': articles})
3. 前端代码中使用


<div class="text-center mt-2 mt-sm-1 mt-md-0 mb-3 f-16">
{% if articles.has_previous %}
<a class="text-success" href="?page={{ articles.previous_page_number }}">上一页</a>
{% else %}
<span class="text-secondary" title="当前页已经是首页">上一页</span>
{% endif %}
<span class="mx-2">第 {{ articles.number }} / {{ articles.paginator.num_pages }} 页</span>
{% if articles.has_next %}
<a class="text-success" href="?page={{ articles.next_page_number }}">下一页</a>
{% else %}
<span class="text-secondary" title="当前页已经是尾页">下一页</span>
{% endif %} </div>
index.html
Django基础06篇 分页的更多相关文章
- Django基础——Model篇(三)
一 Django ORM中的概念 ORM —— 关系对象映射,是Object Relational Mapping的简写,是用来简化数据库操作的框架 Django ORM遵循Code Frist原则, ...
- Django基础——Model篇(二)
一 Model连表关系 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneFiel ...
- Django基础——Model篇(一)
到目前为止,当程序涉及到数据库相关操作时,我们一般都会这么操作: (1)创建数据库,设计表结构和字段 (2)使用MySQLdb来连接数据库,并编写数据访问层代码 (3)业务逻辑层去调 ...
- django基础知识之分页:
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...
- Django基础第一篇
目录 1.Django MTV框架简介 2.基础命令创建项目的配置说明 3.前后端交互案例 4.基于数据库实现数据交互增删改查 Django简介 Django框架的设计模式借鉴了MVC的思想,和MVC ...
- Django基础07篇 ORM操作
1.新增(类似数据库操作的insert) # 新增 #方式一: models.Category.objects.create(name='MySQL') #方式二: c = models.Catego ...
- Django 基础05篇 上下文管理和前端代码复用
一.上下文管理器 在views中重复使用的代码,可以通过上下文管理器(在setting.py文件中的TEMPLATES中配置)中实现,减少代码冗余 上下文管理器的处理流程如下: 1.先走完views里 ...
- Django基础-04篇 Django开发前后端联动
1. 写views views.py代码块 1.在前端以/article/{{ article.id }}这种方式请求后台, 参数配置在urls.py中path('category/<int:i ...
- Django基础08篇 filter&tag
1.Django自带的过滤器filter views.py中代码 def template_tags(request): import datetime content = '三胖content三胖c ...
随机推荐
- 实用程序包utils - 基于Rollup打包输出各模块文件(二)
上一次,我们讲到了如何去搭建一个前端工具库的工程,那么今天我们来聊一聊如何去将其打包输出. 需求 事情是这个样子的.我有一个这样的需求,或者是我发现有这么一个需求.就是有时候吧,我也不想搞的那么复杂, ...
- Docker学习(15) Docker容器的跨主机连接
Docker容器的跨主机连接 Docker使用网桥跨主机容器连接 Docker使用Open cSwitch实现跨主机容器连接 Docker使用weave实现跨主机容器连接
- TensorFlow用法
TensorFlow用法 什么是TensorFlow TensorFlow是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量).这种灵活的体 ...
- 深度学习数据特征提取:ICCV2019论文解析
深度学习数据特征提取:ICCV2019论文解析 Goal-Driven Sequential Data Abstraction 论文链接: http://openaccess.thecvf.com/c ...
- HiCar人-车-家全场景智慧互联
HiCar人-车-家全场景智慧互联 (HUAWEI HiCar Smart Connection)解决方案,具备如下特点: 安全交互:以安全为前提的极简交互(Safety) 无感互联:手机/IoT 设 ...
- C#后台定义一个DataTable并手动写入静态数据(测试数据)
//创建一个DataTable,并为之添加数据(自定义DataTable) DataTable dtz = new DataTable(); //添加Table中的列 DataColumn dc1 = ...
- git stash的常用操作
列出stash的: git stash list移除stash: git stash drop stash@{0}查看stash: git stash sho ...
- 九、配置Tomcat集群
配置Tomcat集群所需服务器三台:192.168.1.5(调度服务器).192.168.1.10(WEB1),192.168.1.20(WEB2) 1.调度服务器设置 [root@proxy ~]# ...
- 深入Netty逻辑架构,从Reactor线程模型开始
本文是Netty系列第6篇 上一篇文章我们从一个Netty的使用Demo,了解了用Netty构建一个Server服务端应用的基本方式.并且从这个Demo出发,简述了Netty的逻辑架构,并对Chann ...
- 【题解】Luogu P3110 [USACO14DEC]驮运Piggy Back
[题解]Luogu P3110 [USACO14DEC]驮运Piggy Back 题目描述 Bessie and her sister Elsie graze in different fields ...