2012-06-18 1 views
8

私は、異なる環境(開発と生産)で変化しない設定で共通の設定をしたいと考えています。私はグローバルなsettings.pyファイル(例:sql制限)を設定できることは知っていますが、私が知る限り、ピラミッドは起動時にiniファイルに特定の設定が必要です(テンプレートディレクトリパスなど)。一般的なini構成(開発と生産の間)をピラミッドで使用する方法は?

もしそうなら、私はピラミッドでこれをどうやってやりますか?

答えて

16

PasteDeployのINI範囲外に出ることなく、いくつかのオプションがあります。しかし、INIファイルモデルの美しさは、さまざまな設定や構成で複数のファイルを作成する基本的な能力です。はい、あなたはそれらを同期させておかなければなりません、しかし、それらは単なる設定(論理なし)なので、耐えられないはずです。

とにかく、[app:XXX]セクションに継承されたのPasteDeploy。したがって、そこに共通の設定を置くことができ、異なる[app:myapp-dev][app:myapp-prod]セクションを持つことができます。

# settings.ini 

[DEFAULT] 
foo = bar 

[app:myapp-dev] 
use = egg:myapp 

[app:myapp-prod] 
use = egg:myapp 

set foo = baz 

これは、別のオプションは、複数の構成ファイルを使用することです

env/bin/pserve -n myapp-dev settings.ini 

経由で実行することができます。

# myapp.ini 

[app:myapp-section] 
use = egg:myapp 

foo = bar 

# myapp-dev.ini 

[app:main] 
use = config:myapp.ini#myapp-section 

foo = baz 

# myapp-prod.ini 

[app:main] 
use = config:myapp.ini#myapp-section 

これは、あなたがPasteDeploy(INIファイル)を使用しない場合、あなたはPythonで何かを行うことができます

env/bin/pserve myapp-prod.ini 

経由で実行することができますが、この構成が簡単であることに真のメリットがあります。

関連する問題