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

2018-04-27  本文已影响79人  SingleDiego

官方文档原文

设置渲染器

可以在 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)
上一篇下一篇

猜你喜欢

热点阅读