![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Dango_Rest_Framework
文章平均质量分 70
俗称DRF
qingyanhuan
每天进步一点点
展开
-
DRF 框架之 API文档 Swagger配置
参考文档: https://github.com/axnsan12/drf-yasg安装pip install drf_yasg在settings.py中注册:INSTALLED_APPS = [ 'django.contrib.staticfiles', # swagger 'drf_yasg',]在urls.py中配置路由:from django.contrib import adminfrom django.urls import pat.原创 2021-10-19 17:21:01 · 505 阅读 · 0 评论 -
DRF(二):序列化器
一 序列化器-Serializer作用:1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型3. 反序列化,完成数据校验功能1.1 定义序列化器Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。首先我们要有数据库模型类Publish:原创 2021-09-08 19:22:46 · 272 阅读 · 0 评论 -
DRF(十六):jwt认证
jwt价绍jwt签发和认证自定义jwt签发和认证原创 2021-09-14 15:05:28 · 1475 阅读 · 2 评论 -
DRF(九):认证和权限
认证自定义认证权限自定义权限原创 2021-09-14 20:41:27 · 909 阅读 · 0 评论 -
DRF(八):视图集和路由
路由自动生成路由自定义路由原创 2021-09-14 14:58:31 · 169 阅读 · 0 评论 -
DRF(七):视图扩展类和视图子类
视图子类视图集原创 2021-09-14 14:57:21 · 292 阅读 · 0 评论 -
DRF(六):视图类
视图基类APIViewGenericAPIView视图扩展类原创 2021-09-14 14:56:00 · 206 阅读 · 0 评论 -
DRF(五):Request和Response
RequestResponse自定义Response原创 2021-09-14 14:48:15 · 354 阅读 · 0 评论 -
DRF(三):反序列化和模型序列化器
反序列化1.1 数据验证使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。在获取反序列化的数据前,必须调用is_valid()方法进行验证,验证成功返回True,否则返回False。验证失败,可以通过序列化器对象的errors属性获取错误信息,返回字典,包含了字段和字段的错误。如果是非字段错误,可以通过修改REST framework配置中的NON_FIELD_ERRORS_KEY来控制错误字典中的键名。验证成功,可以通过序列化器对象的valid原创 2021-09-13 21:38:53 · 214 阅读 · 0 评论 -
DRF(十五):权限频率源码分析
权限控制前言用户验证用户权限,根据不同访问权限控制对不同内容的访问。建议了解视图、token验证的内容。使用流程自定义访问权限类,继承BasePermission,重写has_permission()方法,如果权限通过,就返回True,不通过就返回False。has_permission()方法接受两个参数,分别是request和view,也就是视图类的实例化本身。image-20210106113656701配置。局部配置:pythonpermission_cla原创 2021-09-07 18:15:07 · 84 阅读 · 0 评论 -
DRF(十四):认证源码分析
源码分析认证的执行,是发生在dispatch函数的过程中。image-20201230142921787值得注意的是,封装request的时候,我们的指定的认证类也会一起封装在新的request里面。image-20201230144040055接下来看看get_authenticators的执行。image-20201230144621995使用列表生成式挨个实例化了每个authentication_classes里面的认证类。而authentication_cl原创 2021-09-07 18:15:41 · 87 阅读 · 0 评论 -
DRF(十三):处理全局异常
自定义全局异常DRF默认的异常处理,只处理APIException及其子类的异常,处理不了的会返回None,我们可以判断异常是否属于APIException及其子类的异常,如果是则返回错误信息,如果不是,那么我们则返回服务器错误。# 默认的异常处理,缺陷在它只处理APIException及其子类的异常,处理不了的会返回Nonefrom rest_framework.views import exception_handlerfrom rest_framework.response import R原创 2021-09-07 15:56:29 · 456 阅读 · 0 评论 -
DRF(十二):分页
可选分页器1) PageNumberPagination基本分页前端访问网址形式:GET http://127.0.0.1:8000/students/?page=4可以在子类中定义的属性:page_size 每页数目page_query_param 前端发送的页数关键字名,默认为”page”page_size_query_param 前端发送的每页数目关键字名,默认为Nonemax_page_size 前端最多能设置的每页数量# APIViewfrom rest_framewo原创 2021-09-06 23:30:20 · 245 阅读 · 0 评论 -
DRF(十一):过滤排序
过滤Filtering使用场景:在获取所有或者部分数据的时候使用。过滤和分页是GenericVIew中的属性,所以只能在GenenricView以及其子类中才可以使用。第一种:SearchFilter类在用SearchFilter类过滤时要注意postman中输入的接口地址最后的格式为?search=xxx。前面必须是?search=,后面是过滤内容。SearchFilter:支持模糊查询。from rest_framework.filters import SearchFilterclass原创 2021-09-06 23:07:06 · 523 阅读 · 0 评论 -
DRF(十):频率
频率内置频率类调用内置频率类:需要自己写个类,然后继承SimpleRateThrottle# 限制用户的访问次数:根据用户ip地址限制# 访问者IP地址 -request.META.get('REMOTE_ADDR') #####内置频率类的使用# 1 写一个类,继承SimpleRateThrottle,重写get_cache_key,返回ip就以ip限制# 2 在类中写一个类属性:scope = 'ip_m_3'class MyThrotting(SimpleRateThrott原创 2021-09-06 22:15:08 · 99 阅读 · 0 评论 -
DRF(一)-Restful规范和APIView源码分析
1 web开发模式前后端不分离前后端分离2 api接口通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点url:长得像返回数据的url链接https://api.map.baidu.com/place/v2/search请求方式:get、post、put、patch、delete采用get方式请求上方接口请求参数:json或xml格式的key-value类型数据原创 2021-09-06 19:51:09 · 180 阅读 · 0 评论