11

異なる環境 (開発環境と本番環境) で変更されない設定で共通の構成が必要です。グローバルな settings.py ファイル (SQL 制限など) を設定できることはわかっていますが、私が知る限り、ピラミッドでは起動時に ini ファイルで特定の設定を見つける必要があります (テンプレート ディレクトリ パスなど)。

ピラミッドでこれを行うにはどうすればよいですか?

4

1 に答える 1

18

PasteDeploy の INI の範囲を超えずに、いくつかの可能なオプションがあります。ただし、最初に、INI ファイル モデルの美しさは、さまざまな設定/構成で複数のファイルを作成する基本的な機能であることを認識してください。はい、それらを同期しておく必要がありますが、それらは単なる設定 (ロジックなし) であるため、克服できないものではありません。

とにかく、PasteDeployは、セクションによって継承されるデフォルトのセクションをサポートします[app:XXX]。そのため、そこに共通の設定を配置して、別の[app:myapp-dev]and[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

もう 1 つのオプションは、複数の構成ファイルを使用することです。

# 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

これは次の方法で実行できます

env/bin/pserve myapp-prod.ini

PasteDeploy (ini ファイル) を使用したくない場合は、Python で何かを行うことができますが、この構成が単純であることには大きな利点があります。

于 2012-06-19T03:13:08.273 に答える