          """
          params = self.view.request.GET
          return params.get(self.callback_parameter, self.default_callback)
  
      def render(self, data=None, accepted_media_type=None):
          """
          Renders into jsonp, wrapping the json output in a callback function.
  
          Clients may set the callback function name using a query parameter
          on the URL, for example: ?callback=exampleCallbackName
 
</s> remove         params = self.view.request.GET
 </s> add         request = renderer_context.get('request', None)
        params = request and request.GET or {} </s> remove         callback = self.get_callback()
        json = super(JSONPRenderer, self).render(data, accepted_media_type)
 </s> add         renderer_context = renderer_context or {}
        callback = self.get_callback(renderer_context)
        json = super(JSONPRenderer, self).render(data, accepted_media_type,
                                                 renderer_context) </s> remove     def get_callback(self):
 </s> add     def get_callback(self, renderer_context): </s> remove             return self.view.__doc__
 </s> add             return view.__doc__ </s> remove     def render(self, data=None, accepted_media_type=None):
 </s> add     def render(self, data, accepted_media_type=None, renderer_context=None):
    def render(self, data, accepted_media_type=None, renderer_context=None):
          """
          params = self.view.request.GET
          return params.get(self.callback_parameter, self.default_callback)
  
    def render(self, data, accepted_media_type=None, renderer_context=None):
          """
          Renders into jsonp, wrapping the json output in a callback function.
  
          Clients may set the callback function name using a query parameter
          on the URL, for example: ?callback=exampleCallbackName
keep keep keep keep replace keep keep keep keep keep
 Make sure JSON output in Browseable API is nicely indented 
rest_framework/renderers.py