Hay un par de opciones posibles sin salir de los límites de INI de PasteDeploy. Sin embargo, desde el principio, tenga en cuenta que la belleza del modelo de archivo INI es una capacidad subyacente para crear múltiples archivos con diferentes ajustes/configuraciones. Sí, tienes que mantenerlos sincronizados, pero son solo ajustes (sin lógica), por lo que no deberían ser insuperables.
De todos modos, PasteDeploy supports a default section heredado por las secciones [app:XXX]
. De modo que puede colocar configuraciones comunes allí, y tener diferentes secciones [app:myapp-dev]
y [app:myapp-prod]
.
# settings.ini
[DEFAULT]
foo = bar
[app:myapp-dev]
use = egg:myapp
[app:myapp-prod]
use = egg:myapp
set foo = baz
Esto se puede ejecutar a través de
env/bin/pserve -n myapp-dev settings.ini
Otra opción es utilizar varios archivos de configuración.
# 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
Esto se puede ejecutar a través de
env/bin/pserve myapp-prod.ini
Si no desea utilizar PasteDeploy (archivos ini), se puede hacer algo en Python, pero hay beneficios reales para esta configuración es sencilla.