drf视图组件
2022/3/31 23:23:28
本文主要是介绍drf视图组件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
请求与响应
请求
# Request 类的对象---》新的request对象 from rest_framework.request import Request # 记住的 __getattr__ request.data request.query_parmas--->self._request.GET-->restful规范里,请求地址中带过滤(查询)条件---》get请求地址中提交的数据在GET中,---》query_parmas:查询参数 # 了解--->默认情况下,可以解析 urlencoded,formdata,json -如果我们写了一个接口,想只能处理json格式,或者只能处理formdata # 局部配置 from rest_framework.parsers import JSONParser,FormParser,MultiPartParser class PublishView(APIView): # 局部使用,只针对当前视图类有效,只想处理json格式 parser_classes = [JSONParser] # 全局配置---》配置文件--->所有接口都只能解析json格式 REST_FRAMEWORK = { 'DEFAULT_PARSER_CLASSES': [ 'rest_framework.parsers.JSONParser', ], } # 全局配置解析json,局部某个视图函数想能解析formdata格式 视图类中配置一下即可---》局部配置 -如果局部配置如下,会怎么样 parser_classes = [] # 所有格式都补不能解析了 # 使用顺序:我们没有配置,也有默认配置:3个都能解析 drf有默认配置(最后)----》项目配置文件的配置(其次)----》视图类中配的(优先用) drf的默认配置:from rest_framework import settings # 总结:一般情况下,都使用默认即可,不用配置
响应
Respone:from rest_framework.response import Response # 属性 data=None, # 字符串,字典,列表--》给http响应body体中内容-->response对象中取出处理 status=None, # 响应状态码:1xx,2xx,3xx,默认是200 from rest_framework.status import HTTP_201_CREATED Response(ser.data,status=HTTP_201_CREATED) headers=None, # 响应头 字典 ---了解--- template_name=None, # 模板名字(不用),用浏览器访问时,可以改 exception=False, # 异常处理 content_type=None # 响应编码格式 # 响应格式---》跟解析格式 # 局部设置 from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer class BookDetailView(APIView): renderer_classes = [JSONRenderer,] # 全局设置 REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES': ( # 默认响应渲染类 'rest_framework.renderers.JSONRenderer', # json渲染器 'rest_framework.renderers.BrowsableAPIRenderer', # 浏览API渲染器 ) }
视图组件
# APIView from rest_framework.views import APIView -类属性 -renderer_classes,parser_classes。。。 -get方法,post方法,delete方法写法跟之前的View一样,只不过request对象变成了新的request丢下 -比之前的View多了三大认证和全局异常处理 # GenericAPIView 继承了APIView ,多了属性和方法 from rest_framework.generics import GenericAPIView -属性(先记两个) -queryset = None -serializer_class = None -方法 -get_queryset -get_object -get_serializer # 5个视图扩展类(不是视图类,没有集成APIView,需要配合GenericAPIView) from rest_framework.mixins CreateModelMixin, ListModelMixin, DestroyModelMixin, RetrieveModelMixin, UpdateModelMixin # 9个视图子类 from rest_framework.generics CreateAPIView, ListAPIView, DestroyAPIView, RetrieveAPIView, UpdateAPIView ListCreateAPIView, RetrieveUpdateAPIView, RetrieveUpdateDestroyAPIView, RetrieveDestroyAPIView # 视图集 from rest_framework.viewsets # 两个视图类 ModelViewSet,ReadOnlyModelViewSet # 视图类 ViewSet,GenericViewSet, # 魔法类 ViewSetMixin
这篇关于drf视图组件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-19永别了,微服务架构!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?