                       if not issubclass(renderer, BrowsableAPIRenderer)]
          if not renderers:
              return '[No renderers were found]'
  
          accepted_media_type = add_media_type_param(accepted_media_type, 'indent', '4')
          content = renderers[0](view).render(data, accepted_media_type)
          if not all(char in string.printable for char in content):
              return '[%d bytes of binary content]'
  
          return content
  
 
</s> remove 
        # Find the first valid renderer and render the content. (Don't use another documenting renderer.)
 </s> add  </s> remove         Get the content as if it had been rendered by a non-documenting renderer.

        (Typically this will be the content as it would have been if the Resource had been
        requested with an 'Accept: */*' header, although with verbose style formatting if appropriate.)
 </s> add         Return an instance of the first valid renderer.
        (Don't use another documenting renderer.) </s> remove             return self.get_generic_content_form(view)
 </s> add             media_types = [parser.media_type for parser in view.parser_classes]
            return self.get_generic_content_form(media_types)
        renderer_context['indent'] = 4
        content = renderer.render(data, accepted_media_type, renderer_context)

                       if not issubclass(renderer, BrowsableAPIRenderer)]
          if not renderers:
              return '[No renderers were found]'
  
        renderer_context['indent'] = 4
        content = renderer.render(data, accepted_media_type, renderer_context)

        renderer_context['indent'] = 4
        content = renderer.render(data, accepted_media_type, renderer_context)

          if not all(char in string.printable for char in content):
              return '[%d bytes of binary content]'
  
          return content
  
keep keep keep keep replace replace keep keep keep keep keep
 Make sure JSON output in Browseable API is nicely indented 
rest_framework/renderers.py