我正在尝试确定使用django和django-rest-framework向所有json响应添加根元素的最佳方式。
我认为添加自定义渲染器是实现我想要实现的目标的最好方法,这就是我到目前为止想出的方法:
from rest_framework.renderers import JSONRenderer
class CustomJSONRenderer(JSONRenderer):
#override the render method
def render(self, data, accepted_media_type=None, renderer_context=None):
#call super, as we really just want to mess with the data returned
json_str = super(CustomJSONRenderer, self).render(data, accepted_media_type, renderer_context)
root_element = 'contact'
#wrap the json string in the desired root element
ret = '{%s: %s}' % (root_element, json_str)
return ret
现在棘手的部分是基于调用render()
的视图动态设置root_element
。
任何指示/建议都将非常感谢,
干杯
https://stackoverflow.com/questions/14824807
复制相似问题