Revel使用app.conf存储配置。我希望我的配置使用os.Getenv(key)
我该怎么办?我应该使用revel.Config进行更改吗?如果是的话我在哪里放置它?
还是有另一种方式吗?
我主要用它来存储数据库信息(我不想在配置文件中输入我的凭证)
谢谢
答案 0 :(得分:3)
Revel使用revel/config来管理app.conf
。
从环境变量读取的仅位置revel / config foes是type.go (c *Config) String()
方法。
// $ environment variables
computedVal, _ = c.computeVar(&value, envVarRegExp, 2, 1, func(varName *string) string {
return os.Getenv(*varName)
})
这意味着您可以根据环境变量的名称添加配置文件值,这将允许您使用所述环境变量来修改配置。
请参阅revel/config REAMD.md
file中的示例。
[DEFAULT]
host: www.example.com
protocol: http://
base-url: %(protocol)s%(host)s <====
OP pveyes points out至this comment in type.go
:
// substitute by new value and take off leading '%(' and trailing ')s'
// %(foo)s => headsz=2, tailsz=2
// ${foo} => headsz=2, tailsz=1
所以:
- 使用环境变量时使用
${ENV_VARS}
和- 展开变量使用
%(UNF_VARS)s