Ich versuche zu ermitteln, die beste Möglichkeit zum Hinzufügen eines Root-Elements zu allen JSON-Antworten mit Django und Django-Rest-Framework.Hinzufügen von Root-Element zu JSON-Antwort (Django-Rest-Framework)
Ich denke, eine benutzerdefinierte Renderer Zugabe ist der beste Weg zu erreichen, was ich erreichen will, und das ist, was ich mit so weit gekommen sind:
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
Der schwierige Teil nun dynamisch die root_element
Einstellung basiert auf der Ansicht, dass render()
von aufgerufen wird.
Alle Hinweise/Ratschläge wäre sehr dankbar,
Beifall
Dank ever.wakeful für eine Idee, ich schrieb auch einen Beitrag darüber, wie ich es mit ExtJs Frontend verwenden (Dort muss ich das Wurzelelement nicht anders benennen. Und ich muss paginator.count im Wurzelelement haben) http://kaygorodov.github.io/2014/02/21/extjs-django-rest-framework -root-element.html –