              'renders': [renderer.media_type for renderer in self.renderer_classes],
              'parses': [parser.media_type for parser in self.parser_classes],
          }
          #  TODO: Add 'fields', from serializer info.
          # form = self.get_bound_form()
          # if form is not None:
          #     field_name_types = {}
          #     for name, field in form.fields.iteritems():
          #         field_name_types[name] = field.__class__.__name__
          #     content['fields'] = field_name_types
          return Response(content, status=status.HTTP_200_OK)
 
</s> remove                 self.fields[request._CONTENTTYPE_PARAM] = forms.ChoiceField(label='Content Type',
                                                                         choices=contenttype_choices,
                                                                         initial=initial_contenttype)
                self.fields[request._CONTENT_PARAM] = forms.CharField(label='Content',
                                                                   widget=forms.Textarea)
 </s> add                 self.fields[api_settings.FORM_CONTENTTYPE_OVERRIDE] = forms.ChoiceField(
                    label='Content Type',
                    choices=contenttype_choices,
                    initial=initial_contenttype
                )
                self.fields[api_settings.FORM_CONTENT_OVERRIDE] = forms.CharField(
                    label='Content',
                    widget=forms.Textarea
                ) </s> remove         if hasattr(self.view, 'object'):
            object = self.view.object
        serializer = self.view.get_serializer(instance=object)
 </s> add         if getattr(view, 'object', None):
            object = view.object
        serializer = view.get_serializer(instance=object) </s> remove         if object and not self.view.request.method == 'DELETE':  # Don't fill in the form when the object is deleted
 </s> add         if object and not view.request.method == 'DELETE':  # Don't fill in the form when the object is deleted </s> remove         if not hasattr(self.view, 'get_serializer'):  # No serializer, no form.
            return
 </s> add         if not method in view.allowed_methods:
            return  # Not a valid method

        if not api_settings.FORM_METHOD_OVERRIDE:
            return  # Cannot use form overloading

        temp = request._method
        request._method = method.upper()
        if not view.has_permission(request):
            request._method = temp
            return  # Don't have permission
        request._method = temp

        if method == 'DELETE' or method == 'OPTIONS':
            return True  # Don't actually need to return a form

        if not getattr(view, 'get_serializer', None):
            return self.get_generic_content_form(view)
 </s> remove         if not getattr(view.request, '_USE_FORM_OVERLOADING', False):
 </s> add         if not (api_settings.FORM_CONTENT_OVERRIDE
                and api_settings.FORM_CONTENTTYPE_OVERRIDE):
        # serializer = self.get_serializer()
        # if serializer is not None:
              'renders': [renderer.media_type for renderer in self.renderer_classes],
              'parses': [parser.media_type for parser in self.parser_classes],
          }
          #  TODO: Add 'fields', from serializer info.
        # serializer = self.get_serializer()
        # if serializer is not None:
        # serializer = self.get_serializer()
        # if serializer is not None:
          #     field_name_types = {}
          #     for name, field in form.fields.iteritems():
          #         field_name_types[name] = field.__class__.__name__
          #     content['fields'] = field_name_types
          return Response(content, status=status.HTTP_200_OK)
keep keep keep keep replace replace keep keep keep keep keep
 Only display forms when user has permissions.  #159 
rest_framework/mixins.py