importing SimpleTemplateResponse from compat module

to use the newer __getstate__ implementation using the rendering_attrs
property
This commit is contained in:
Renato Rufino 2014-07-23 01:09:54 -03:00
parent 75e5573865
commit dd09e94f41

View File

@ -6,8 +6,7 @@ The appropriate renderer is called during Django's template response rendering.
"""
from __future__ import unicode_literals
from django.core.handlers.wsgi import STATUS_CODE_TEXT
from django.template.response import SimpleTemplateResponse
from rest_framework.compat import six
from rest_framework.compat import six, SimpleTemplateResponse
class Response(SimpleTemplateResponse):
@ -15,6 +14,8 @@ class Response(SimpleTemplateResponse):
An HttpResponse that allows its data to be rendered into
arbitrary media types.
"""
rendering_attrs = SimpleTemplateResponse.rendering_attrs + \
['accepted_renderer', 'renderer_context', 'data']
def __init__(self, data=None, status=200,
template_name=None, headers=None,
@ -76,13 +77,3 @@ class Response(SimpleTemplateResponse):
# TODO: Deprecate and use a template tag instead
# TODO: Status code text for RFC 6585 status codes
return STATUS_CODE_TEXT.get(self.status_code, '')
def __getstate__(self):
"""
Remove attributes from the response that shouldn't be cached
"""
state = super(Response, self).__getstate__()
for key in ('accepted_renderer', 'renderer_context', 'data'):
if key in state:
del state[key]
return state