docs: def get_view(self, request, view_class, opts=None):
          """
          Instantiates and returns the view class that will generate the
          actual context for this plugin.
          """
          kwargs = {}
          if opts:
              if not isinstance(opts, dict):
                  opts = opts.__dict__
          else:
              opts = {}
  
          if not view_class in VALID_MIXIN_OPTIONS:
              valid_options = view_class.__dict__.keys()
              for cls in view_class.__bases__:
                  if cls != object:
                      valid_options += cls.__dict__.keys()
              VALID_MIXIN_OPTIONS[view_class] = valid_options
  
          for key in VALID_MIXIN_OPTIONS[view_class]:
              if key in opts:
                  kwargs[key] = opts[key]
              elif hasattr(self, key):
                  kwargs[key] = getattr(self, key)
  
          view = view_class(**kwargs)
          view.request = request
          view.kwargs = {}
          return view