          Return the view name, as used in OPTIONS responses and in the
          browsable API.
          """
          func = self.settings.VIEW_NAME_FUNCTION
          return func(self.__class__, getattr(self, 'suffix', None))
  
      def get_view_description(self, html=False):
          """
          Return some descriptive text for the view, as used in OPTIONS responses
          and in the browsable API.
 
</s> remove         return func(self.__class__, html)
 </s> add         return func(self, html) </s> remove def get_view_description(view_cls, html=False):
 </s> add def get_view_description(view, html=False): </s> remove def get_view_name(view_cls, suffix=None):
 </s> add def get_view_name(view): </s> remove     description = view_cls.__doc__ or ''
 </s> add     # Description may be set by some Views, such as a ViewSet.
    description = getattr(view, 'description', None)
    if description is None:
        description = view.__class__.__doc__ or ''
 </s> remove     name = view_cls.__name__
 </s> add     # Name may be set by some Views, such as a ViewSet.
    name = getattr(view, 'name', None)
    if name is not None:
        return name

    name = view.__class__.__name__
        return func(self)
          Return the view name, as used in OPTIONS responses and in the
          browsable API.
          """
          func = self.settings.VIEW_NAME_FUNCTION
        return func(self)
  
      def get_view_description(self, html=False):
          """
          Return some descriptive text for the view, as used in OPTIONS responses
          and in the browsable API.
keep keep keep keep replace keep keep keep keep keep
 Improvements to ViewSet extra actions (#5605)

* View suffix already set by initializer

* Add 'name' and 'description' attributes to ViewSet

ViewSets may now provide their `name` and `description` attributes
directly, instead of relying on view introspection to derive them.
These attributes may also be provided with the view's initkwargs.

The ViewSet `name` and `suffix` initkwargs are mutually exclusive.

The `action` decorator now provides the `name` and `description` to
the view's initkwargs. By default, these values are derived from the
method name and its docstring. The `name` may be overridden by providing
it as an argument to the decorator.

The `get_view_name` and `get_view_description` hooks now provide the
view instance to the handler, instead of the view class. The default
implementations of these handlers now respect the `name`/`description`.

* Add 'extra actions' to ViewSet & browsable APIs

* Update simple router tests

Removed old test logic around link/action decorators from `v2.3`. Also
simplified the test by making the results explicit instead of computed.

* Add method mapping to ViewSet actions

* Document extra action method mapping 
rest_framework/views.py