2

Revel は app.conf を使用して構成を保存します。を使用して、構成で環境変数から値を取得したいos.Getenv(key)

どうすればいいですか?revel.Config を使用して変更を行う必要がありますか? もしそうなら、どこに置くのですか?

それとも別の方法がありますか?

主にデータベース情報を保存するために使用します (構成ファイルに資格情報を入力したくありません)

ありがとうございました

4

1 に答える 1

3

Revelは管理にrevel/configapp.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ファイルの例を参照してください。

[DEFAULT]
host: www.example.com
protocol: http://
base-url: %(protocol)s%(host)s    <====

OP pveyes は、このコメントを次のように指摘しています。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
于 2014-05-17T19:54:50.410 に答える