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 ...
随机推荐
- .NET平台系列16 .NET5/Asp.Net Core 在全球Web框架权威性能测试 Web Framework Benchmarks 中的吊炸天表现
系列目录 [已更新最新开发文章,点击查看详细] TechEmpower Web Framework Benchmarks 是许多Web应用程序框架执行基本任务(如JSON序列化.数据库访问和服 ...
- Tvm一些基本技术
Tvm一些基本技术 一.总体流程: TVM的工作流程:首先,将网络表示成统一的表示形式(Intermediate Representation),并进行一些可重用的图优化:然后,利用不同的后端生成对应 ...
- Xilinx FPGA全局介绍
Xilinx FPGA全局介绍 现场可编程门阵列 (FPGA) 具有诸多特性,无论是单独使用,抑或采用多样化架构,皆可作为宝贵的计算资产:许多设计人员并不熟悉 FPGA,亦不清楚如何将这类器件整合到设 ...
- ST为飞行时间传感器增加了多目标测距
ST为飞行时间传感器增加了多目标测距 ST adds multi-object ranging to time-of-flight sensors STMicroelectronics已经扩展了其Fl ...
- oracle表ddl审计
============= 表ddl 审计============== 1.table信息 SQL> select * from test; ID CUST_CREDIT_LIMIT TIME ...
- CLR里的MethodTable,MethodDescChunk,MethodDesc,FixUpPreCode都是什么意思
一:看下面一些概念 1MethodTable MethodTable可以说在CLR里面无处不在,这个东西主要是作为对象的数据类型存在,主要包含了EEClass 模块地址,类型名称,模块路径等. 2.E ...
- 怎么回答面试官:你对Spring的理解?
最近看了点Spring的源码,正好来稍微扯一扯,帮一部分培训班的朋友撕开一道口子,透透气.我自己都是看的培训班视频,所以也算培训班出身吧.所以下文开口闭口"培训班",不要觉得是我在 ...
- 『假如我是面试官』RabbitMQ我会这样问
1. 为什么你们公司选择RabbitMQ作为消息中间件 在消息队列选型时,我们调研了市场上比较常用ActiveMQ,RabbitMQ,RocketMQ,Kafka. RabbitMQ相对成熟稳定,这是 ...
- WPF Frame 的 DataContext 不能被 Page 继承
转载至https://blog.csdn.net/sinat_31608641/article/details/88914517 已测试解决方案可行,因为WPF相关资料稀少,防止日后404,特搬运到自 ...
- CMD批处理(4)——批处理循环语句结构
FOR函数,对一组文件批量执行命令,基本模式如下 1.文件搜索 for [/D] [/R [路径]] %%变量 in (集合) do (命令) 2.等差数列 for /L %%变量 in (开始,间隔 ...