美文网首页
API 指南(8):渲染器(Renderer)

API 指南(8):渲染器(Renderer)

作者: SingleDiego | 来源:发表于2018-04-27 11:17 被阅读79次

    官方文档原文

    设置渲染器

    可以在 setting.py 中使用 DEFAULT_RENDERER_CLASSES 设置全局默认的渲染器集。

    例如,以下设置将使用 JSON 作为主要媒体类型,并且还包括自描述 API。

    REST_FRAMEWORK = {
        'DEFAULT_RENDERER_CLASSES': (
            'rest_framework.renderers.JSONRenderer', 
            'rest_framework.renderers.BrowsableAPIRenderer',
        )
    }
    

    你还可以针对单个视图或视图集的设置渲染器,使用 APIView 类视图。

    from django.contrib.auth.models import User
    from rest_framework.renderers import JSONRenderer
    from rest_framework.response import Response
    from rest_framework.views import APIView
    
    class UserCountView(APIView):
    
        # 设置渲染器
        # 使用后返回的数据会渲染成 json
        renderer_classes = (JSONRenderer, )
    
        def get(self, request, format=None):
            user_count = User.objects.all().count()
            content = {'user_count': user_count}
            return Response(content)
    

    或者,如果你使用基于功能的视图的 @api_view 装饰器。

    from django.contrib.auth.models import User
    from rest_framework.decorators import api_view, renderer_classes
    from rest_framework.renderers import JSONRenderer
    from rest_framework.response import Response
    
    
    @api_view(['GET'])
    @renderer_classes((JSONRenderer,)) # 设置渲染器
    def user_count_view(request, format=None):
    
        user_count = User.objects.all().count()
        content = {'user_count': user_count}
        return Response(content)
    

    相关文章

      网友评论

          本文标题:API 指南(8):渲染器(Renderer)

          本文链接:https://www.haomeiwen.com/subject/knhblftx.html