          requested with an 'Accept: */*' header, although with verbose style formatting if appropriate.)
          """
  
          # Find the first valid renderer and render the content. (Don't use another documenting renderer.)
          renderers = [renderer for renderer in view.renderers if not issubclass(renderer, DocumentingTemplateRenderer)]
          if not renderers:
              return '[No renderers were found]'
  
          media_type = add_media_type_param(media_type, 'indent', '4')
          content = renderers[0](view).render(obj, media_type)
 
</s> remove             for renderer in renderers:
 </s> add             for renderer in self.renderers: </s> remove         renderers = [renderer_cls(self.view) for renderer_cls in self.renderers]

 </s> add  </s> remove         # TODO: must go
        self.view = None
 </s> add  </s> remove         # TODO: renderer *could* override media_type in .render() if required.
 </s> add  </s> remove     def __init__(self, view):
 </s> add     def __init__(self, view=None):
        renderers = [renderer for renderer in view.renderer_classes 
                if not issubclass(renderer, DocumentingTemplateRenderer)]
          requested with an 'Accept: */*' header, although with verbose style formatting if appropriate.)
          """
  
          # Find the first valid renderer and render the content. (Don't use another documenting renderer.)
        renderers = [renderer for renderer in view.renderer_classes 
                if not issubclass(renderer, DocumentingTemplateRenderer)]
          if not renderers:
              return '[No renderers were found]'
  
          media_type = add_media_type_param(media_type, 'indent', '4')
          content = renderers[0](view).render(obj, media_type)
keep keep keep keep replace keep keep keep keep keep
 cleaned a bit Response/ResponseMixin code, added some documentation + renamed ErrorResponse to ImmediateResponse 
djangorestframework/renderers.py