设置渲染器
可以在 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)
网友评论