code: def username_matches_request_user(view_fn):
      
      @wraps(view_fn)
      def wrapper(request, username, *args, **kwargs):
          User = get_user_model()
  
          user = get_object_or_404(User, username=username)
          if user != request.user:
              return HttpResponseForbidden()
          else:
              return view_fn(request, user, *args, **kwargs)
  
      return wrapper
docs: Checks if the username matches the request user, and if so replaces
      username with the actual user object.
      Returns 404 if the username does not exist, and 403 if it doesn't match.