如何在GAE中获取应用程序根路径

Ser*_*rov 5 python google-app-engine path

我正在为我的GAE Python应用程序使用Jinja2模板.实际上,一个项目中有一些小应用程序.例如,他们是博客和网站.所以,第一个用于博客,第二个用于site =).我有这个文件夹结构:

/
  /apps
    /blog
    /site
/templates
  /blog
  /site
Run Code Online (Sandbox Code Playgroud)

我还有一个代码,用于访问每个应用程序的模板文件夹.它看起来像这样:

template_dirs = []
template_dirs.append(os.path.join(os.path.dirname(__file__), 'templates/project'))
Run Code Online (Sandbox Code Playgroud)

当然,它不起作用,因为它是错的.它返回一个这样的字符串:base/data/home/apps/myapplication/1.348460209502075158/apps/project/templates/project

我需要它返回一个这样的字符串:base/data/home/apps/myapplication/1.348460209502075158/apps/templates/project如何使用绝对路径,而不是相对路径?我想我需要以某种方式获得我整个GAE项目的根源.谢谢!

Nic*_*son 14

获取应用程序根路径的最简单方法是将模块放在应用程序的根目录中,该模块存储结果os.path.dirname(__file__),然后根据需要导入.或者,调用os.path.dirname(module.__file__)应用程序根目录中的模块.