|
|
@@ -0,0 +1,33 @@
|
|
|
+'''
|
|
|
+自定义返回处理
|
|
|
+'''
|
|
|
+
|
|
|
+# 导入控制返回的JSON格式的类
|
|
|
+from rest_framework.renderers import JSONRenderer
|
|
|
+
|
|
|
+
|
|
|
+class customrenderer(JSONRenderer):
|
|
|
+ # 重构render方法
|
|
|
+ def render(self, data, accepted_media_type=None, renderer_context=None):
|
|
|
+ print(data)
|
|
|
+ # print(renderer_context["response"])
|
|
|
+ # print(renderer_context["response"].status_code)
|
|
|
+ # print(renderer_context["response"].accepted_media_type)
|
|
|
+ if renderer_context:
|
|
|
+ if isinstance(data, dict):
|
|
|
+ msg = data.pop('msg', 'success')
|
|
|
+ code = data.pop('code', renderer_context["response"].status_code)
|
|
|
+ payload = data.pop('data', data)
|
|
|
+ else:
|
|
|
+ msg = "success"
|
|
|
+ code = renderer_context["response"].status_code
|
|
|
+ payload = data
|
|
|
+ ret = {
|
|
|
+ 'code': code,
|
|
|
+ 'msg': msg,
|
|
|
+ 'data': payload,
|
|
|
+ }
|
|
|
+ # 返回JSON数据
|
|
|
+ return super().render(ret, accepted_media_type, renderer_context)
|
|
|
+ else:
|
|
|
+ return super().render(data, accepted_media_type, renderer_context)
|