Notez que j'ai étudié comment diviser le fichier ini qui écrit les paramètres dépendants de l'environnement.
Puisque python n'a pas de fonction pour définir les constantes par défaut, j'écris actuellement des constantes dans le fichier ini. Puisqu'un fichier ini est créé pour chaque environnement, le même contenu est décrit plusieurs fois, ce qui complique la gestion, j'ai donc décidé de créer un fichier ini commun et de le charger dans chaque fichier ini d'environnement.
Préparez common.ini en plus de development.ini et production.ini.
#common.ini
[common]
nom = Taro Yamada tel = 03-xxxx-xxxx
Définissez le chemin du fichier de common.ini dans les fichiers d'environnement de development.ini et production.ini comme suit. (Quand dans la même hiérarchie)
common.path = %(here)s/common.ini
Créez une fonction pour charger common.ini dans \ ini.py où les paramètres de démarrage de l'application sont écrits.
def common_ini(settings):
import os
from ConfigParser import SafeConfigParser
ini = settings.get("common.path")
if ini is None:
return
if not os.path.exists(ini) and os.path.isfile(ini):
raise ConfigurationError("ini is not found")
conf = SafeConfigParser()
conf.read(ini)
return dict(conf.items('common'))
Config.add_settings la fonction ci-dessus avec la fonction principale.
def main(global_config, **settings):
""" This function returns a WSGI application.
from pyramid.config import Configurator
config = Configurator(settings=settings)
config.add_settings(common_ini(settings))
Avec cela, en plus de chaque fichier ini d'environnement, un fichier ini commun peut être lu en plus.