首页 > 其他 > 详细

Django 之 rest_framework 响应器使用

时间:2019-07-06 22:55:11      阅读:117      评论:0      收藏:0      [点我收藏+]

Django 之 rest_framework 响应器使用

使用部分:

  • 第一步:导入模块

    from rest_framework.renders import    BrowsableAPIRenderer,JSONRenderer,TemplateHTMLRenderer,StaticHTMLRenderer,HTMLFormRenderer
    
    # JSONRenderer  # JSON数据样式响应--->常用
    # BrowsableAPIRenderer  # 浏览器接口响应--->常用
    # TemplateHTMLRenderer  # 静态HTML响应
    # StaticHTMLRenderer  # 标准 HTML 响应
    # HTMLFormRenderer  # HTML 表单响应
  • 第二步: 配置响应器

    • 局部配置(在视图类中 配置)

      from rest_framework.parsers import JSONParser, FormParser, MultiPartParser, FileUploadParser
      from rest_framework.renderers import JSONRenderer, BrowsableAPIRenderer
      
      
      class BooksView(ModelViewSet):
          # 局部使用 版本控制  URLPathVersioning
          # versioning_class = URLPathVersioning
      
          # 局部 解析器配置
          parser_classes = [JSONParser, ]
      
          # 局部配置 响应器
          renderer_classes = [JSONRenderer, BrowsableAPIRenderer]
      
          # 获取 queryset对象
          queryset = models.Book.objects.all()
      
          # 获取 序列化类
          serializer_class = myser.BookSerializer
      
          def list(self, request, *args, **kwargs):
              print(1)
              print(request.version)
              print(request.__dict__)
      
              return super().list(request, *args, **kwargs)
    • 全局配置(一般都是全局配置即可)

      REST_FRAMEWORK = {
      
          # 配置全局版本控制
          'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.URLPathVersioning',
          'DEFAULT_VERSION': 'v1',  # 默认版本(从request对象里取不到,显示的默认值)
          'ALLOWED_VERSIONS': ['v1', 'v2'],  # 允许的版本
          'VERSION_PARAM': 'version',  # URL中获取值的key
      
          # 配置全局解释器
          'DEFAULT_PARSER_CLASSES': [
              'rest_framework.parsers.JSONParser',
              'rest_framework.parsers.FormParser',
              'rest_framework.parsers.MultiPartParser',
          ],
          # 配置全局响应器
          'DEFAULT_RENDERER_CLASSES': ['rest_framework.renderers.JSONRenderer']
      
      }

Django 之 rest_framework 响应器使用

原文:https://www.cnblogs.com/qianzhengkai/p/11144414.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!