zoukankan      html  css  js  c++  java
  • Django 之 rest_framework 响应器使用

    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']
            
        }
        
  • 相关阅读:
    opacity兼容性以及存在问题处理
    删除节点方法要注意的区别
    java基础-常见面试题(一)
    第04次作业-树
    第03次作业-栈和队列
    第02次作业-线性表
    Data_Structure-绪论作业
    C语言第二次实验报告
    C语言第一实验报告
    mysql 查询优化
  • 原文地址:https://www.cnblogs.com/qianzhengkai/p/11144414.html
Copyright © 2011-2022 走看看