diff options
| author | Tom Christie | 2012-10-10 12:15:18 +0100 | 
|---|---|---|
| committer | Tom Christie | 2012-10-10 12:15:18 +0100 | 
| commit | 648d2be29b0738999742f4d844caab7b7652d1ad (patch) | |
| tree | aa4b8a630231f06477e2356abcfee80d54d2c8d8 /rest_framework/views.py | |
| parent | ccd2b0117d9c26199b1862a302b1eb06dd2f07b2 (diff) | |
| download | django-rest-framework-648d2be29b0738999742f4d844caab7b7652d1ad.tar.bz2 | |
Make sure JSON output in Browseable API is nicely indented
Diffstat (limited to 'rest_framework/views.py')
| -rw-r--r-- | rest_framework/views.py | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/rest_framework/views.py b/rest_framework/views.py index 058a6cd3..b3f36085 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -86,6 +86,7 @@ class APIView(View):      @property      def default_response_headers(self): +        # TODO: deprecate?          # TODO: Only vary by accept if multiple renderers          return {              'Allow': ', '.join(self.allowed_methods), @@ -158,6 +159,20 @@ class APIView(View):          """          raise exceptions.Throttled(wait) +    def get_renderer_context(self): +        """ +        Returns a dict that is passed through to the Renderer.render(), +        as the `renderer_context` keyword argument. +        """ +        # Note: Additionally 'response' will also be set on the context, +        #       by the Response object. +        return { +            'view': self, +            'request': self.request, +            'args': self.args, +            'kwargs': self.kwargs +        } +      # API policy instantiation methods      def get_format_suffix(self, **kwargs): @@ -171,7 +186,7 @@ class APIView(View):          """          Instantiates and returns the list of renderers that this view can use.          """ -        return [renderer(self) for renderer in self.renderer_classes] +        return [renderer() for renderer in self.renderer_classes]      def get_parsers(self):          """ @@ -269,6 +284,7 @@ class APIView(View):              response.accepted_renderer = request.accepted_renderer              response.accepted_media_type = request.accepted_media_type +            response.renderer_context = self.get_renderer_context()          for key, value in self.headers.items():              response[key] = value @@ -306,7 +322,7 @@ class APIView(View):          self.request = request          self.args = args          self.kwargs = kwargs -        self.headers = self.default_response_headers +        self.headers = self.default_response_headers  # deprecate?          try:              self.initial(request, *args, **kwargs)  | 
