草庐IT

drf 过滤、排序、分页、异常处理

内容概要过滤排序分页异常处理内容详细过滤过滤是涉及到查询数据的接口才需要过滤功能DRF中使用的过滤方式:1、内置过滤类在请求数据中用“search=字符”条件过滤(模糊查询)2、第三方过滤类在请求数据中用“字段名=字符”条件过滤(严格查询)3、自定义过滤类内置过滤类使用模块:fromrest_framework.filtersimportSearchFilter在视图层中使用内置过滤类前提:需要使用GenericAPIView类中的filter_backends属性,所以视图类得继承GenericAPIViewclassGenericAPIView(views.APIView):queryse

drf 过滤、排序、分页、异常处理

内容概要过滤排序分页异常处理内容详细过滤过滤是涉及到查询数据的接口才需要过滤功能DRF中使用的过滤方式:1、内置过滤类在请求数据中用“search=字符”条件过滤(模糊查询)2、第三方过滤类在请求数据中用“字段名=字符”条件过滤(严格查询)3、自定义过滤类内置过滤类使用模块:fromrest_framework.filtersimportSearchFilter在视图层中使用内置过滤类前提:需要使用GenericAPIView类中的filter_backends属性,所以视图类得继承GenericAPIViewclassGenericAPIView(views.APIView):queryse

DRF JWT认证(二)

目录DRFJWT认证(二)django中快速使用JWT如何签发?如何认证?定制签发token返回格式JWT源码分析签发源码分析认证源码分析签发源码内的其他两个类自定义User表,签发token普通写法,视图类写序列化类中写逻辑自定义认证类补充:HttpRequest.METADRFJWT认证(二)上篇中对JWT有了基本的认知,这篇来略谈JWT的使用签发:一般我们登录成功后签发一个token串,token串分为三段,头部,载荷,签名1)用基本信息公司信息存储json字典,采用base64算法得到头字符串2)用关键信息存储json字典,采用base64算法得到荷载字符串,过期时间,用户id,用户名

DRF JWT认证(二)

目录DRFJWT认证(二)django中快速使用JWT如何签发?如何认证?定制签发token返回格式JWT源码分析签发源码分析认证源码分析签发源码内的其他两个类自定义User表,签发token普通写法,视图类写序列化类中写逻辑自定义认证类补充:HttpRequest.METADRFJWT认证(二)上篇中对JWT有了基本的认知,这篇来略谈JWT的使用签发:一般我们登录成功后签发一个token串,token串分为三段,头部,载荷,签名1)用基本信息公司信息存储json字典,采用base64算法得到头字符串2)用关键信息存储json字典,采用base64算法得到荷载字符串,过期时间,用户id,用户名

DRF JWT认证(一)

目录DRFJWT认证(一)JWT认证为什么使用JWT认证?构成和工作原理JWT的构成1.header2.payload3.signature本质原理JWT认证算法:签发与校验签发:根据登录请求提交来的账号+密码+设备信息签发token校验:根据客户端带token的请求反解出user对象JWT的种类nonsecureJWTJWSbase64编码与解码DRFJWT认证(一)JWT认证Jsonwebtoken(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般

DRF JWT认证(一)

目录DRFJWT认证(一)JWT认证为什么使用JWT认证?构成和工作原理JWT的构成1.header2.payload3.signature本质原理JWT认证算法:签发与校验签发:根据登录请求提交来的账号+密码+设备信息签发token校验:根据客户端带token的请求反解出user对象JWT的种类nonsecureJWTJWSbase64编码与解码DRFJWT认证(一)JWT认证Jsonwebtoken(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般

drf 认证、权限、频率限制以及其源码

内容概要token认证小练习认证权限频率内容详细登录携带token认证小练习models.py:classUser(models.Model):username=models.CharField(max_length=32)password=models.CharField(max_length=32)classUserToken(models.Model):user=models.OneToOneField(to='User',on_delete=models.CASCADE)token=models.CharField(max_length=64)views.py:fromrest_fra

drf 认证、权限、频率限制以及其源码

内容概要token认证小练习认证权限频率内容详细登录携带token认证小练习models.py:classUser(models.Model):username=models.CharField(max_length=32)password=models.CharField(max_length=32)classUserToken(models.Model):user=models.OneToOneField(to='User',on_delete=models.CASCADE)token=models.CharField(max_length=64)views.py:fromrest_fra

drf 视图组件

内容概要request对象和response对象GenericAPIView介绍基于GenericAPIView的5个视图扩展类GenericAPIView的9个视图子类视图集ModelViewSet的使用ViewSetMixin源码分析内容详细request对象和response对象请求之request对象我们已经知道,drf对原生的request请求数据对象做过封装处理,原生request对象被保存在_request中,通过__getattr__【点拦截】魔法方法可以获取原生request对象所有方法和属性,并且drf的request可以通过request.data取出包括json格式数据

drf 视图组件

内容概要request对象和response对象GenericAPIView介绍基于GenericAPIView的5个视图扩展类GenericAPIView的9个视图子类视图集ModelViewSet的使用ViewSetMixin源码分析内容详细request对象和response对象请求之request对象我们已经知道,drf对原生的request请求数据对象做过封装处理,原生request对象被保存在_request中,通过__getattr__【点拦截】魔法方法可以获取原生request对象所有方法和属性,并且drf的request可以通过request.data取出包括json格式数据