Bri*_*ian 5 django-rest-framework
我的理解是其余框架 3 的
Response(None)
Run Code Online (Sandbox Code Playgroud)
完全等同于
Response()
Run Code Online (Sandbox Code Playgroud)
,其中(JSON)结果是一个空的响应正文,而不是null. 空响应将转换为 JavaScriptundefined而不是null,这是不正确的。所以,如果我坚持要null被退回,我不能这样做:
Response('null')
Run Code Online (Sandbox Code Playgroud)
因为这是可以理解的序列化为"null". 因此,为了null在响应中产生实际值,我必须破解一个自定义渲染器,该渲染器不加选择地返回其数据的 JSON 转储:
class PlainTextRenderer(renderers.BaseRenderer):
media_type = 'application/json'
format = 'json'
def render(self, data, media_type=None, renderer_context=None):
import json
return json.dumps(data)
renderer_classes = (PlainTextRenderer,)
Run Code Online (Sandbox Code Playgroud)
这似乎太骇人听闻了。尽管渲染器确实有效,但我是否错过了更简单的东西?
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |