mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-02-03 05:04:31 +03:00
Basic support for format suffixes
This commit is contained in:
parent
071e7d72cd
commit
1608583eaa
|
@ -41,7 +41,8 @@ class Response(SimpleTemplateResponse):
|
|||
_ACCEPT_QUERY_PARAM = api_settings.URL_ACCEPT_OVERRIDE
|
||||
_IGNORE_IE_ACCEPT_HEADER = True
|
||||
|
||||
def __init__(self, content=None, status=None, headers=None, view=None, request=None, renderers=None):
|
||||
def __init__(self, content=None, status=None, headers=None, view=None,
|
||||
request=None, renderers=None, format=None):
|
||||
# First argument taken by `SimpleTemplateResponse.__init__` is template_name,
|
||||
# which we don't need
|
||||
super(Response, self).__init__(None, status=status)
|
||||
|
@ -52,6 +53,7 @@ class Response(SimpleTemplateResponse):
|
|||
self.view = view
|
||||
self.request = request
|
||||
self.renderers = renderers
|
||||
self.format = format
|
||||
|
||||
def get_renderers(self):
|
||||
"""
|
||||
|
@ -62,6 +64,9 @@ class Response(SimpleTemplateResponse):
|
|||
else:
|
||||
renderer_classes = self.renderers
|
||||
|
||||
if self.format:
|
||||
return [cls(self.view) for cls in renderer_classes
|
||||
if cls.format == self.format]
|
||||
return [cls(self.view) for cls in renderer_classes]
|
||||
|
||||
@property
|
||||
|
|
|
@ -203,7 +203,7 @@ class APIView(_View):
|
|||
"""
|
||||
return Request(request, parsers=self.parsers, authentication=self.authentication)
|
||||
|
||||
def finalize_response(self, request, response, *args, **kargs):
|
||||
def finalize_response(self, request, response, *args, **kwargs):
|
||||
"""
|
||||
Returns the final response object.
|
||||
"""
|
||||
|
@ -211,6 +211,8 @@ class APIView(_View):
|
|||
response.view = self
|
||||
response.request = request
|
||||
response.renderers = self.renderers
|
||||
if api_settings.FORMAT_SUFFIX_KWARG:
|
||||
response.format = kwargs.get(api_settings.FORMAT_SUFFIX_KWARG, None)
|
||||
|
||||
for key, value in self.headers.items():
|
||||
response[key] = value
|
||||
|
|
Loading…
Reference in New Issue
Block a user