BDu*_*elz 9 python configuration pyramid
我希望有一个通用配置,其设置不会在不同的环境(开发和生产)中发生变化.我知道我可以设置一个全局的settings.py文件(例如,sql限制),但据我所知,金字塔需要在启动时在ini文件中找到某些设置(例如,模板目录路径).
我可以,如果是这样,我如何在金字塔中做到这一点?
Mic*_*kel 16
除了PasteDeploy的INI-confines外,有几种可能的选择.但是,在前面,意识到INI文件模型的美妙之处在于能够创建具有不同设置/配置的多个文件.是的,你必须让它们保持同步,但它们只是设置(没有逻辑),因此不应该是不可克服的.
无论如何,PasteDeploy 支持由部分继承的默认[app:XXX]部分.所以,你可以在那里把常见的设置,并有不同的[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
Run Code Online (Sandbox Code Playgroud)
这可以通过
env/bin/pserve -n myapp-dev settings.ini
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用多个配置文件.
# 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
Run Code Online (Sandbox Code Playgroud)
这可以通过
env/bin/pserve myapp-prod.ini
Run Code Online (Sandbox Code Playgroud)
如果您不想使用PasteDeploy(ini文件),您可以在Python中执行某些操作,但这种配置的实际好处很简单.
| 归档时间: |
|
| 查看次数: |
1408 次 |
| 最近记录: |