摘要: 响应模块 响应类构造器:rest_framework.response.Response def __init__(self, data=None, status=None, template_name=None, headers=None, exception=False, content_typ 阅读全文
posted @ 2020-12-01 15:43 啦啦哦 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 为什么要自定义异常模块 1)所有经过drf的APIView视图类产生的异常,都可以提供异常处理方案 2)drf默认提供了异常处理方案(rest_framework.views.exception_handler),但是处理范围有限 3)drf提供的处理方案两种,处理了返回异常现象,没处理返回None 阅读全文
posted @ 2020-12-01 15:39 啦啦哦 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 解析模块 为什么要配置解析模块 1)drf给我们提供了多种解析数据包方式的解析类 2)我们可以通过配置,来控制前台提交的哪些格式的数据后台在解析,哪些数据不解析 3)全局配置就是针对每一个视图类,局部配置就是针对指定的视图类,让它们可以按照配置规则选择性解析数据 源码入口 # APIView类的di 阅读全文
posted @ 2020-12-01 15:32 啦啦哦 阅读(147) 评论(0) 推荐(0) 编辑
摘要: #渲染模块 源码入口 渲染模块 第四步: 对返回结果进行再次加工, self.response = self.finalize_response(request, response, *args, **kwargs) 源码分析 # 最后解析reponse对象数据 self.response = se 阅读全文
posted @ 2020-12-01 15:22 啦啦哦 阅读(187) 评论(0) 推荐(0) 编辑
摘要: #请求模块:request对象 源码入口:APIView类的dispatch方法中 request = self.initialize_request(request, *args, **kwargs) class Test(APIView): def get(self, request, *arg 阅读全文
posted @ 2020-12-01 14:56 啦啦哦 阅读(162) 评论(0) 推荐(0) 编辑
摘要: #DRF请求生命周期 根据应用中urls.py,走as_view方法,但是视图类没有该方法,所以请求走的是APIView的as_view方法 在APIView的as_view调用父类(django原生View)的as_view,同时还禁用了 csrf 认证 在父类(django原生View)的as_ 阅读全文
posted @ 2020-12-01 13:57 啦啦哦 阅读(145) 评论(0) 推荐(0) 编辑