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.
 
 
 
 

31 lines
1.1 KiB

from rest_framework.response import Response
from rest_framework.serializers import Serializer
# 直接复写Response就行
class MyResponse(Response):
def __init__(self, data=None, code=None, msg=None, status=None, template_name=None, headers=None, exception=False,
content_type=None, **kwargs):
super().__init__(None, status=status)
if isinstance(data, Serializer):
msg = (
'You passed a Serializer instance as data, but '
'probably meant to pass serialized `.data` or '
'`.error`. representation.'
)
raise AssertionError(msg)
self.data = dict(code=code, status=status, msg=msg, data=data)
print('MyResponse-kwargs')
print(kwargs)
self.data.update(kwargs)
print('MyResponse-self.data')
print(self.data)
self.template_name = template_name
self.exception = exception
self.content_type = content_type
if headers:
for name, value in headers.items():
self[name] = value