drf框架中分页组件

普通分页(最常用)

自定制分页类

pagination.py

from rest_framework.pagination import PageNumberPagination
# 普通分页
class CarPageNumberPagination(PageNumberPagination):
# 默认一页的条数
page_size = 3
# 用户可以自定义选择一页的条数,但最多显示5条
page_size_query_param = 'page_size'
max_page_size = 5
# 默认条数访问 /我们路由设置访问这个视图的路由/?page=页面号
# eg:/我们路由设置访问这个视图的路由/?page=1
# 自定义条数访问 /我们路由设置访问这个视图的路由/?page=页面号&page_size=一页的条数
# eg:/我们路由设置访问这个视图的路由/?page=1&page_size=5

views.py

from . import pagination
class 模型名称(ModelViewSet):
.......
pagination_class = pagination.CarPageNumberPagination

偏移分页

自定制分页类

pagination.py

from rest_framework.pagination import LimitOffsetPagination
# 偏移分页
class CarLimitOffsetPagination(LimitOffsetPagination):
# 默认一页的条数
default_limit = 3
# limit控制一页显示的条数,offset控制偏移的条数(从头开始计数)
limit_query_param = 'limit'
offset_query_param = 'offset'
# 限制limit可以设置的最大显示条数
max_limit = 5
# 接口 /我们路由设置访问这个视图的路由/?limit=一页的条数&offset=偏移的条数
# eg:/我们路由设置访问这个视图的路由/?limit=5&offset=2 # 显示3~7条

views.py

from . import pagination
class 模型名称(ModelViewSet):
.......
pagination_class = pagination.CarLimitOffsetPagination

加密分页

自定制分页类

pagination.py

from rest_framework.pagination import CursorPagination
# 加密分页
class CarCursorPagination(CursorPagination):
# 默认一页的条数
page_size = 3
# 用户可以自定义选择一页的条数,但最多显示5条
page_size_query_param = 'page_size'
max_page_size = 5
# 默认排序规则
ordering = 'pk'
# 采用默认排序访问 /我们路由设置访问这个视图的路由/?cursor=加密串
# eg:/我们路由设置访问这个视图的路由/?cursor=cD0z
# 结合视图类实现OrderingFilter自定义排序规则
# /我们路由设置访问这个视图的路由/?cursor=加密串&ordering=排序字段
# eg:/我们路由设置访问这个视图的路由/?cursor=cD0z&ordering=-price

views.py

from . import pagination
class 模型名称(ModelViewSet):
.......
pagination_class = pagination.CarCursorPagination

drf框架中分页组件的更多相关文章

  1. DRF框架中分页功能接口

    目录 DRF框架中分页功能接口 DRF框架中分页功能接口 一.在框架中提供来三个类来实现分页功能,PageNumberPagination.LimitOffsetPagination.CursorPa ...

  2. Primeng UI框架中 分页组件用法

    1.在当前模块或当前页面的对应的module.ts文件中引入相应组件模块,如:core.module.ts模块. import { PaginatorModule } from 'primeng/pr ...

  3. DRF框架之认证组件用法(第四天)

    1. 什么是drf 框架的认证组件: auth 就等于是jango中的Auth模块,Auth是自带session信息,但是 drf的认证组件可以自定义token携带过去,去判断用的 2.如何实现认证呢 ...

  4. drf框架中认证与权限工作原理及设置

    0909自我总结 drf框架中认证与权限工作原理及设置 一.概述 1.认证 工作原理 返回None => 游客 返回user,auth => 登录用户 抛出异常 => 非法用户 前台 ...

  5. 【DRF框架】序列化组件

    DRF框架的序列化组件 在前后端分离的应用模式中,后端仅返回前端所需的数据,返回的数据类似是JSON,因此需要使用序列化组件进行序列化再将数据返回 使用JsonResponse做序列化 #  使用Js ...

  6. django drf框架中的user验证以及JWT拓展的介绍

    登录注册是几乎所有网站都需要去做的接口,而说到登录,自然也就涉及到验证以及用户登录状态保存,最近用DRF在做的一个关于网上商城的项目中,引入了一个拓展DRF JWT,专门用于做验证和用户状态保存.这个 ...

  7. drf框架中所有视图及用法

    0909自我总结 drf框架中所有视图及用法 一.drf框架中的所有视图类 from django.views import View from rest_framework import views ...

  8. drf框架中jwt认证,以及自定义jwt认证

    0909自我总结 drf框架中jwt 一.模块的安装 官方:http://getblimp.github.io/django-rest-framework-jwt/ 他是个第三方的开源项目 安装:pi ...

  9. 【DRF框架】认证组件

    DRF框架的认证组件 核心代码:       self.perform_authentication(request)  框架自带模块:    from rest_framework import a ...

随机推荐

  1. 浅谈独立特征(independent features)、潜在特征(underlying features)提取、以及它们在网络安全中的应用

    1. 关于特征提取 0x1:什么是特征提取 特征提取研究的主要问题是,如何在数据集未明确表示结果的前提下,从中提取出重要的潜在特征来.和无监督聚类一样,特征提取算法的目的不是为了预测,而是要尝试对数据 ...

  2. .Net基础篇_学习笔记_第六天_类型转换和方法(函数)简介

    类型转换:Convert.ToInt32();  int.Parse();  int.TryParse(); Convert.ToInt32(); 的本质就是在使用 int.Parse(); int. ...

  3. urllib2爬取图片成功之后不能打开

    经过8个小时的摸索,终于决定写下此随笔! 初学爬虫,准备爬取百度美女吧的图片,爬取图片之后发现打不开,上代码: import urllib import urllib2 from lxml impor ...

  4. iOS面试题整理带答案

    iOS面试题整理带答案       找工作,面试是避免不了的! 而技术开发面试,问一些技术相关的问题是必须的,最新的技术可能人人都趋之若鹜,但有些原理和基础的也希望都有了解. 这里整理了一些iOS相关 ...

  5. 小斌之SpringCloud 开发某某交易所

    最近一个月都在弄某某交易所,让之前学的东西能够用上,在这里分享一下收货的东西吧 #### 简介 系统是进行了二次开发,用的是ZTuo开源框架第一个版本,节省了很多时间(坑也挺多,哈哈哈),文章结尾贴源 ...

  6. 控制执行流程之switch语句

    switch语句,同时也是一种选择性语句,其根据整数表达式的值(整数选择因子)选择一段代码去执行.整数选择因子为int类型或者char类型.

  7. java数据结构——递归(Recursion)例题持续更新中

    继续学习数据结构递归,什么是递归呢?字面理解就是先递出去,然后回归,递归核心思想就是直接或间接调用本身,好比从前有座山,山里有位老和尚,在给小和尚讲故事,讲的是从前有座山,山里有位老和尚,在给小和尚讲 ...

  8. Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value:

    问题:ERROR JDBCExceptionReporter:72 - Data truncation: Incorrect datetime value: '' for column 'create ...

  9. springboot系列之03-使用IDEA完成第一个示例程序

    未经允许,不得转载 原作者:字母哥博客 本文完整系列出自:springboot深入浅出系列 一.使用IntellijIDEA建立第一个spring boot 项目 通常只有专业版付费版才默认带有Spr ...

  10. windows 安装gitbook并使用gitbook editor可视化工具

    GitBook是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书. 一.官网下载nodejs直接安装 传送门,安装完成后如下: 可以看到n ...