drf的五大模块

Posted oxtime

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了drf的五大模块相关的知识,希望对你有一定的参考价值。

1、请求模块:drf的request是对wsgi的request二次封装,且完全兼容,拓展query_params和data两个属性
    request._request
    request._request = request
    request.query_params = request._request.GET
    request.data(form-data,urlencoded,json)
    
    
2、渲染模块:可以全局和局部配置渲染方式
    renderer_classes = []
    DEFAULT_RENDERER_CLASSES: []

3、解析模块:可以全局和局部配置能解析的数据包
    parser_classes = []
    DEFAULT_PAARSER_CLASSES: []

4、异常模块:自定义异常模块,可以自定义异常返回以及提供记录异常的接口(这里接口的意思就是该需求后期可以在这里添加)
    'EXCEPTION_HANDLER': 'api.utils.exception_handler',
    
    from rest_framework.views import exception_handler as drf_exception_handler
    def exception_handler(exc, context):
        response = drf_exception_handler(exc, context)
        if respose is None:
            return Response(自己处理)   # 服务器错误 500
        return response  # drf处理的,客户端错误 4xx
        
5、响应模块:知道response对象产生可以传那些信息,response对象又是如何访问这些信息的
    Response(data={}, status=status.HTTP_200_OK, headers={})

以上是关于drf的五大模块的主要内容,如果未能解决你的问题,请参考以下文章

DjangoDRF源码分析之五大模块

drf视图家族

DRF中五大扩展类及视图集的介绍

Django-rest-framework --- 总结

drf-五大方法(重要)

drf-五大接口的增删改