You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
933 B
27 lines
933 B
from rest_framework.renderers import JSONRenderer |
|
|
|
|
|
class CustomRenderer(JSONRenderer): |
|
def render(self, data, accepted_media_type=None, renderer_context=None): |
|
print('CustomRenderer') |
|
if renderer_context: |
|
if isinstance(data, dict): |
|
msg = data.pop('msg', 'success') |
|
code = data.pop('code', 200) |
|
|
|
if 'status' in data.keys(): |
|
del data['status'] |
|
data = data['data'] |
|
else: |
|
data = data |
|
return_data = { |
|
'msg': msg, |
|
'code': code, |
|
'data': { |
|
'list': data, |
|
'total': len(data) |
|
} |
|
} |
|
return super().render(return_data, accepted_media_type, renderer_context) |
|
else: |
|
return super().render(data, accepted_media_type, renderer_context)
|
|
|