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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)