J'ai une webapp exécutée sur CherryPy qui doit accéder aux fichiers de configuration CherryPy avant qu'un utilisateur ne crée une requête. Les docs disent utiliser:Comment accéder à config en dehors d'une requête dans CherryPy?
host = cherrypy.request.app.config [ 'base de données'] [ 'host']
Mais cela ne fonctionnera pas en dehors d'une demande de l'utilisateur. Vous pouvez également utiliser l'objet d'application lorsque vous démarrez l'application comme ceci:
...
application = cherrypy.tree.mount (racine, '/', app_conf)
host = application.config [ « base de données »] [ « host »]
...
Mais je ne vois aucun moyen d'accéder à « application » d'autres classes en dehors d'une demande de l'utilisateur.
Je demande parce que notre application regarde plusieurs bases de données et nous les configurons lorsque l'application démarre plutôt qu'à la demande de l'utilisateur. J'ai le sentiment que cela serait utile dans d'autres endroits aussi; Y at-il un moyen de stocker une référence à 'application' quelque part ou y accéder via l'API CherryPy?
Je vois ce que vous voulez dire, mais notre 'app.py' importe' notarequest.py', donc je ne peux pas importer 'ap.py' à partir de là sans erreur d'importation. Je vois aussi ce que vous voulez dire à propos de la config mais c'est assez complexe donc nous l'avons déplacé vers un module différent pour éviter le désordre dans notre module d'application principal. Je viens d'utiliser un troisième module comme un hack temporaire comme: http://effbot.org/pyfaq/how-do-i-share-global-variables-across-modules.htm – OrganicPanda