Django rest framework 当响应为“无”时,让rest框架返回null

Django rest framework 当响应为“无”时,让rest框架返回null,django-rest-framework,Django Rest Framework,我的理解是rest框架3 Response(None) 完全等同于 Response() ,其中(JSON)结果是一个空响应体,而不是null。空响应将转换为JavaScriptundefined,而不是null,这是不正确的。因此,如果我坚持要返回null,我不能: Response('null') 因为可以理解,它被序列化为“null”。因此,为了在响应中产生一个实际的null,我必须破解一个自定义呈现程序,它不加区别地返回其数据的JSON转储: class PlainTextRend

我的理解是rest框架3

Response(None)
完全等同于

Response()
,其中(JSON)结果是一个空响应体,而不是
null
。空响应将转换为JavaScript
undefined
,而不是
null
,这是不正确的。因此,如果我坚持要返回
null
,我不能:

Response('null')
因为可以理解,它被序列化为
“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,)

这似乎太老套了,不可能是真的。虽然渲染器可以工作,但我是否缺少更简单的内容?

我会返回一个状态为204的空正文,不希望响应正文包含
null
。204没有内容与提供响应正文相反。这实际上是疯狂的。为什么他们有这样的
None
特例。空字符串甚至不是有效的json。失败:-/