'The authenticated user for this request.
This is a cached version of `get_current_user`, which you can
override to set the user based on, e.g., a cookie. If that
method is not overridden, this method always returns None.
We lazy-load the current user the first time this method is called
and cache the result after that.'

@property
def current_user(self):

    if (not hasattr(self, '_current_user')):
        self._current_user = self.get_current_user()
    return self._current_user
