Django实现基本的页面分页
1.视图views.py
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage def index(request): all = Blog.objects.all() # 获取全部数据的对象 paginator = Paginator(all,2) # 创建对象,将all分成每页2条数据 if request.method == 'GET': # 前端get传参 page = request.GET.get('page') # 获取前端传进来的页数page try: info = paginator.page(page) # 获取所传页数的数据对象 except PageNotAnInteger: # 如果请求的页数不是整数, 返回第1页 info = paginator.page(1) except EmptyPage: # 如果请求的页数不在合法的页数范围内,返回结果的末尾页 info = paginator.page(paginator.num_pages) return render(request,'blog/index.html',{'info':info}) #将获取的页的对象传到前端页面
2.模板template代码
<div> {# 如果有上一页 #} {% if info.has_previous %} {# 点击跳转到上一页,以get方式传递上一页的页码数到后端 #} <a class='active' href="http://139.198.16.166:8000/index/?page={{ info.previous_page_number }}">上一页</a> {% endif %} {# 显示当前页数#} <span class="current">第{{ info.number }}页 | 共{{ info.paginator.num_pages }}页</span> {# 如果有下一页 #} {% if info.has_next %} {# 同上 #} <a class='active' href="http://139.198.16.166:8000/index/?page={{ info.next_page_number }}">下一页</a> {% endif %} </div>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现