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']
            
        }
        
  • 相关阅读:
    fastDFS同步问题讨论
    Android开发(26)--补间动画(Tween)的实现
    android布局
    Linux特殊权限:SUID、SGID、SBIT
    如何使用ssh-keygen生成key
    Linux中环境变量到底写在哪个文件中?解析login shell 和 no-login shell
    使用ssh无密码登录
    github中的ssh配置
    PHP中的一个很好用的文件上传类
    [置顶] js模板方法的思路及实现
  • 原文地址:https://www.cnblogs.com/qianzhengkai/p/11144414.html
Copyright © 2011-2022 走看看