Django中间件在响应中查找内容类型

时间:2016-02-29 15:15:10

标签: json django response wrapper middleware

我希望编写中间件来修改由rest框架生成的响应对象--JSON格式。

我想在每个JSON响应中添加一些所谓的包络,它将数据对象包装成类似于:

{
   "status" : "success",
   "server" : "server name",
   "source" : "cache", -- or "database"
   "data" : ... original response from API ...
   "errors" : [],
   ect ....    
}

我正在考虑创建寻找'application / json'内容的中间件,如果是,捕获响应将其包装在该对象中,但如果其他类型的'application / text'没有反应

如何在中间件{/ 1}}方法中访问内容类型?

这是完成此类任务的正确方法吗?

1 个答案:

答案 0 :(得分:1)

您的中间件的process_response方法有两个参数,requestresponse对象。

在方法中,您可以使用response['Content-Type']检查内容类型。