Google App Engine:生产环境与开发环境设置

8

如何设置一个配置文件?其中一个用于本地开发服务器,另一组用于上传至Google App Engine时的设置值?

例如,我想设置一个配置文件来存储绝对根URL。

2个回答

16

从你的问题中没有明确说明是关于Java还是Python运行时的。我会先假设是Python。

和其他Python webapp 一样,设置文件可以放在任何地方,使用任何你想要的名字。我通常在我的应用程序根目录下使用一个名为 'settings.py' 或者 'config.py' 的 .py 文件。例如,请查看 Bloog 的设置文件

至于如何在生产和开发中使用不同的设置,你有两个选择:

  1. 简单来说就是在你的源代码仓库中保留两个分支,一个是 dev,另一个是 prod。当你想要发布一个版本时,定期从 dev 合并到 prod,这种情况下,你只需不合并 config.py 即可。
  2. 自动检测你正在运行的平台,并适当地应用设置。最简单的方法是检查 os.environ ['SERVER_SOFTWARE'] 的值,如果是开发服务器,则以 'Dev' 开头。你可以使用以下方法设置一个标志:

    DEBUG = os.environ['SERVER_SOFTWARE'].startswith('Dev')


使用SERVER_SOFTWARE是个好技巧,我在Google上搜索了很久才找到这里。文档在这里:https://developers.google.com/appengine/docs/python/#Python_The_environment - Chris Lawlor

1

您可以从请求中找到根URL,并使用它代替手动配置。或者如果您需要进一步的配置,则可以使用它来决定使用哪个配置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接