J'ai besoin d'une variable globale que je peux appeler à partir des modèles.Comment initialiser des variables globales dans TurboGears 2 avec des valeurs d'une table
J'ai effectué app_globals.py dans le répertoire lib de déclarer PATH_TO_IMAGES comme celui-ci
class Globals(object):
"""Container for objects available throughout the life of the application.
One instance of Globals is created during application initialization and
is available during requests via the 'app_globals' variable.
"""
PATH_TO_IMAGES = ""
def __init__(self):
"""Do nothing, by default."""
pass
Maintenant, je peux appeler à partir de tout modèle le chemin d'image comme celui-ci
<img src="${g.PATH_TO_IMAGES}/${p.image}" />
Le chemin d'image est stockée dans un tableau des paramètres sur la base de données de l'application, mais je ne peux pas l'initialiser à partir de la déclaration Globals, j'obtiens cette erreur:
sqlalchemy.exc.UnboundExecutionError: Could not locate a bind configured on mapper Mapper|Settings|settings, SQL expression or this Session
Ma conjecture est que la liaison de base de données se produit après l'initialisation de Globals. Donc, mes questions sont, qui est le meilleur endroit pour initialiser une variable globale dans TurboGears 2 et qui est la meilleure pratique à cela.