渲染器
REST framework 包含许多内置的渲染器类,允许您使用各种 media type 返回响应。同时也支持自定义渲染器。
视图的渲染器集合始终被定义为类列表。当调用视图时,REST framework 将对请求内容进行分析,并确定最合适的渲染器以满足请求。内容分析的基本过程包括检查请求的 Accept header,以确定它在响应中期望的 media type。或者,用 URL 上的格式后缀明确表示。例如,URL http://example.com/api/users_count.json 可能始终返回 JSON 数据。
设置渲染器
DEFAULT_RENDERER_CLASSES 设置全局的默认渲染器集。
REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', ) }
基于 APIView 的视图类来设置单个视图或视图集的渲染器
renderer_classes = (JSONRenderer, )
API参考
JSONRenderer
使用 utf-8 编码将请求数据呈现为 JSON。
TemplateHTMLRenderer
使用 Django 的标准模板将数据呈现为 HTML。与其他渲染器不同,传递给 Response 的数据不需要序列化。另外,创建 Response 时可能需要包含 template_name 参数。
等同于render(request,template_name,{})
StaticHTMLRenderer
一个简单的渲染器,它只是返回预渲染的 HTML。与其他渲染器不同,传递给响应对象的数据应该是表示要返回的内容的字符串。
等同于HttpResponse
BrowsableAPIRenderer
将数据呈现为可浏览的 HTML API
AdminRenderer
将数据呈现为 HTML,以显示类似管理员的内容