def __init__(self, data=None, status=None,
template_name=None, headers=None,
exception=False, content_type=None,
err_code=0, err_msg=''):
"""
Alters the init arguments slightly.
For example, drop 'template_name', and instead use 'data'.
Setting 'renderer' and 'media_type' will typically be deferred,
For example being set automatically by the `APIView`.
"""
super(Response, self).__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 = data
self.template_name = template_name
self.exception = exception
self.content_type = content_type
self.wrapper = {
'code': err_code,
'message': err_msg,
'data': self.data
}
if headers:
for name, value in six.iteritems(headers):
self[name] = value
评论列表
文章目录