root_path will only be used for 3 situations:
        1. fix ``static_path`` and ``template_path``
        2. check project's directory name with the value in settings.PROJECT
        3. append parent path to sys.path

def set_root_path(self, root_path=None, settings_module=None):
        """
        root_path will only be used for 3 situations:
        1. fix ``static_path`` and ``template_path``
        2. check project's directory name with the value in settings.PROJECT
        3. append parent path to sys.path
        """
        if root_path:
            self.root_path = root_path
            return

        if settings_module:
            self.root_path = os.path.dirname(os.path.abspath(settings_module.__file__))
            return

        # try to guess which module import app.py
        import inspect

        caller = inspect.stack()[1]
        caller_module = inspect.getmodule(caller[0])
        assert hasattr(caller_module, '__file__'), 'Caller module %s should have __file__ attr' % caller_module
        self.root_path = os.path.dirname(os.path.abspath(caller_module.__file__))