django分页(两种办法)
以下是分页常用的方法
numbers=list(range(50)) page=Paginator(numbers,10) print(page.num_pages)#获取总共分了多少页 print(page.count)#总共多少条数据page_1=page.get_page(1)#获取第一页数据 print('pake_1',page_1.number)#获取当前所在分页 print(page_1.has_next())#获取有没有下一页 print(page_1.paginator.num_pages)#用当前页面的对象,去获取总共多少页 print(page_1.paginator.count)#用当前页面的对象,去获取总共有多少条数据 print(page_1.has_previous())#获取有没有上一页 print(page_1.has_other_pages())#获取有没有其他页 # print(page_1.previous_page_number())#获取上一页的页码 print(page.get_page(2).object_list)#object_list返回的数据是一个list
。。。。。。。。。。。。。。。
前后端不分离的写法:基础条件是先建好数据库,下边这是我建的数据库的样式,怎么创建数据库的表结构,看我之前的博客首先第一步需要先导入:
from django.core.paginator import Paginator #这个是处理分页的
,然后写一个接口,返回给HTML文件,之后在html中调用这个接口里边的方法
# todo 收到请求的时候,返回HTML文件 def index2(request):page = request.GET.get('page', 1) # 获取第几页limit = request.GET.get('limit', 3) # 每页有多少条数据all_count = models.Article.objects.all()paginator = Paginator(all_count, limit)page_1 = paginator.get_page(page)return render(request, 'index.html', locals())
之后在HTML文件中,调用这个方法里边的内容,这里边每个方法是干啥用的,在文章上边看就行
{% if page_1.has_other_pages %} <div class="text-center mt-2 mt-sm-1 mt-md-0 mb-3 f-16">{% if page_1.has_previous %}<a class="text-secondary" href="?page={{page_1.previous_page_number}}">上一页</a>{%endif%}<span class="mx-2">第 {{page_1.number}} / {{ page_1.paginator.num_pages }} 页</span>{% if page_1.has_next %}<a class="text-success" href="?page={{page_1.next_page_number}}">下一页</a>{% endif %}</div> {% endif %}
最后请求接口:http://IP:8999/index2/?page=1&limit=1 这个里边的page和limit是可以传递不同的参数的,样式见下边截图
二、第二种做分页的方法是前后端分离的写法,前提条件和上边一样,但是这个是自己写一个接口,然后前端在调用这个接口的数据
首先导入:
from django.forms import model_to_dict #这个是转字典的,要是不导入这个的话,接口返回json的时候会报错
然后,重新定义一个接口
def article_page(request):page = request.GET.get('page', 1) # 获取第几页limit = request.GET.get('limit', 3) # 每页有多少条数据all_count = models.Article.objects.all()paginator = Paginator(all_count, limit)page_1 = paginator.get_page(page)data_list=[]for i in page_1:mode_to=model_to_dict(i,exclude='img')#exclude这个是转字典的时候去掉,哪个字段,就是不给哪个字段转成字典data_list.append(mode_to)data = {'code': 0, "msg": '操作成功', "data": data_list, 'count': paginator.count}return HttpResponse(json.dumps(data))
之后在postman上请求这个接口,然后这个接口就会返回分页的信息了,具体要返回什么信息的话,的看你想要什么,接口返回的样式
第二种,接口请求的样式:
django分页(两种办法)相关推荐
- eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样...
eclipse new server Cannot create a server using the selected type 网上有两种办法,其实原理一样 第一种说法: 还真的找到解决的方法了, ...
- C# HttpClient设置cookies的两种办法
一般有两种办法 第一种handler.UseCookies=true(默认为true),默认的会自己带上cookies,例如 var handler = new HttpClientHandler() ...
- MSCOMM32控件注册的两种办法
当我们在VC或者VB或者VS环境下基于MSCOMM控件开发的软件发布后,是不是有种很爽的感觉,可以拿到别人的电脑上运行下你的软件,可是当你移植过去后却发现软件无法点击的动(别笑,我在开发C#软件时就是 ...
- Django DRF 两种接口安全机制及其配置
Django DRF 两种接口安全机制及其配置 接口安全机制,用于设置和管理用户调用接口时的权限问题.此处介绍最常用的两种接口安全机制及其配置. 1 使用之前 先生成接口文档 便于测试 1.1 安装依 ...
- Arduino通过USB转TTL无BootLoader烧录程序的两种办法
Arduino通过USB转TTL无BootLoader(引导程序)烧录程序的两种办法 注意 (这个实验室基于stm32duino的,avr单片机并不直接通用,不过如果你准备尝试使用串口来给avr单片机 ...
- Python超时机制两种办法
目录 1.问题 2.Python超时控制的两种办法(简单不复杂) 2.1 引入eventlet 2.2 引入func-timeout 3.总结 1.问题 最近做项目有一个问题,需要使用Python自动 ...
- 小米手机html无法,小米手机无法开机进入不了桌面怎么解决 两种办法解决小米手机无法开机问题...
小米手机无法开机进入不了桌面怎么办,出现无法开机我们一个是可以刷机来解决,另一个临时办法就清除数据恢复出厂设置试一下,具体的两种解决无法开机问题,下面小编都为各位介绍 注意:不管是什么原因导致你手机无 ...
- 已知两个点的经纬度,计算两个点之间的距离(两种办法)
网上淘来了两种办法,一种是haversine公式,这个公式的算法在ubuntu下测试距离长测两个点,非常不准.(在我需要使用这个算法的芯片平台测试也不准,类似ubuntu平台的误差.在visual s ...
- 小米5进系统无显示无服务器,小米手机无法开机进入不了桌面怎么解决 两种办法解决小米手机无法开机问题...
注意:不管是什么原因导致你手机无法开机我们都可以参考下面的方法来解决了,具体的如下. 方法一:小米手机无法进入系统的常用方法 1 既然不能开机了那肯定是已经关机了,我们现在只要同时按下开机键和音量放大 ...
最新文章
- PostgreSQL连接池pgbouncer的使用
- R语言卡方分布函数Binomial Distribution(dchisq, pchisq, qchisq rchisq)实战
- idea报错解决:Cannot start compilation: the output path is not specified for module “XXX“.
- angularjsl路由_AngularJS路由和模板
- Adobe宣布Flex Builder将更名为Flash Builder
- python运算学习之Numpy ------ 数组的切片索引与循环遍历、条件和布尔数组、形状变化...
- Random Forest 实用经验(转)
- 一口气说出 6种 @Transactional 注解失效场景
- MySQL Operators(比较操作符,逻辑运算符)
- 实例练习----电影天堂抓取下载链接
- 推荐 | 微软SAR近邻协同过滤算法相关问题(三)
- DB 管理的重要工具(数据字典)
- 校园网\中心机房\拓扑图 思科模拟器(cisco)
- 完整的动态加载卸载程序集的解决方案
- php whois查询,php whois查询API制作方法
- 计算机一级插入页码,同一篇文档中插入相同页码的小技巧
- 更新:为 NGINX 配置免费的 Let‘s Encrypt SSL/TLS 证书
- 原画 机器人总动员_《机器人瓦力》导演执导 科幻史诗巨制《火星上的约翰·卡特》首支震撼预告...
- 沈阳故宫挂“门神”迎新年
- 郭晶晶带霍启刚回京见家长 将赶在明年结婚
热门文章
- 安卓behavior详解3--自定义behavior详解
- Python 探索 Tello 无人机的奇妙世界
- rf框架搭建_RF框架—自动化UI框架解决方案模版
- TDengine在黑格智造的落地应用
- 计科专业c语言重修,关于2014年11月湖南工程学院非计算机专业学生计算机应用水平等级考试报名的通知...
- CTF逆向-[MRCTF2020]VirtualTree-恒成立的jz花指令去除及smc变换原执行流程在二叉树上的应用,通过逆向思维编写脚本以解决
- WIN+方向键不能用
- 尴尬了,那个程序员把我QQ给删除了
- 使用M2Crypto加密数据
- 【r-GAN】论文翻译 - Learning Representations and Generative Models for 3D Point Clouds