REST framework 包含許多內置的渲染器類,容許您使用各類 media type 返回響應。同時也支持自定義渲染器。python
視圖的渲染器集合始終被定義爲類列表。當調用視圖時,REST framework 將對請求內容進行分析,並肯定最合適的渲染器以知足請求。內容分析的基本過程包括檢查請求的 Accept header,以肯定它在響應中指望的 media type。或者,用 URL 上的格式後綴明確表示。例如,URL http://example.com/api/users_count.json 可能始終返回 JSON 數據。json
DEFAULT_RENDERER_CLASSES 設置全局的默認渲染器集。api
REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', ) }
基於 APIView 的視圖類來設置單個視圖或視圖集的渲染器編碼
renderer_classes = (JSONRenderer, )
JSONRenderer
使用 utf-8 編碼將請求數據呈現爲 JSON。rest
TemplateHTMLRenderer
使用 Django 的標準模板將數據呈現爲 HTML。與其餘渲染器不一樣,傳遞給 Response 的數據不須要序列化。另外,建立 Response 時可能須要包含 template_name 參數。對象
等同於render(request,template_name,{})blog
StaticHTMLRenderer
一個簡單的渲染器,它只是返回預渲染的 HTML。與其餘渲染器不一樣,傳遞給響應對象的數據應該是表示要返回的內容的字符串。utf-8
等同於HttpResponse字符串
BrowsableAPIRenderer
將數據呈現爲可瀏覽的 HTML API模板
AdminRenderer將數據呈現爲 HTML,以顯示相似管理員的內容