2012-03-06 5 views
5

Je ne fais que commencer avec la structure pyramide de Python et je ne sais pas où définir les variables d'application et la meilleure façon de les importer dans mon projet. Par exemple: nom d'utilisateur/mot de passe de la base de données, chemins, hauteur/largeur des vignettes, etc ...Stockage des variables de configuration globales dans un projet Pyramid

Dois-je créer un fichier config.py dédié et importer les variables dans mes fonctions? À quoi cela devrait-il ressembler?

Merci.

Répondre

11

Il existe une recette dans le livre de recettes pour émuler le fichier de paramètres globaux de style Django (pour votre commodité). Toutefois, la méthode recommandée consiste à stocker ces éléments dans votre fichier INI en tant que paramètres de déploiement. Ainsi, vous pouvez avoir un nom d'utilisateur/mot de passe de base de données pour le développement et un pour la production et c'est aussi simple que d'avoir deux fichiers INI. Toutes les paires clé/valeur que vous ajoutez à la section INI [app:...] pour votre application Pyramid sont disponibles au moment de l'installation et pendant le traitement des demandes via un dictionnaire settings joint au registry. Ceci est accessible via config.registry.settings ainsi que request.registry.settings. L'objet settings est une copie du dict que vous avez transmis au Configurator(settings=settings, ...) au sein de votre fonction main.

Pour plus d'informations, voir http://docs.pylonsproject.org/projects/pyramid/en/1.3-branch/narr/startup.html ainsi que les tutoriels dans la documentation Pyramid qui ont des exemples de tout cela.