如何使用Django Rest Framework使输出“漂亮”?

时间:2019-02-08 05:18:51

标签: django rest api django-rest-framework

有没有一种方法可以格式化来自Django Rest Framework的输出?我正在寻找的是与PHP JSON_PRETTY_PRINT等效的Django / DRF

当前,输出如下所示:

{"id":1,"username":"bartalamej","city":"Ostrava","photo":"uploads/avatars/a84232eff3aa407db95ff792aec77414.jpg"}

但是我希望它看起来像这样:

{
  "id":1,
  "username":"bartalamej",
  "city":"Ostrava",
  "photo":"uploads/avatars/a84232eff3aa407db95ff792aec77414.jpg"
}

有人知道如何实现吗?

2 个答案:

答案 0 :(得分:0)

您应该覆盖视图的get_renderer_context并设置缩进量:

def get_renderer_context(self):
    context = super().get_renderer_context()
    context['indent'] = 4
    return context

这会将缩进添加到json.dumps调用中。

或者,您也可以将其留给客户,然后在Accept标头中添加缩进,如in the documentation

所述

答案 1 :(得分:0)

BrowseableAPIRenderer很好地格式化了JSON,便于浏览。可以找到更多信息here