Мне нужна глобальная переменная, которую я могу вызвать из шаблонов.
Я отредактировал app_globals.py в каталоге lib, чтобы объявить PATH_TO_IMAGES следующим образом
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
Теперь я могу вызывать из любого шаблона путь к изображению, подобный этому
<img src="${g.PATH_TO_IMAGES}/${p.image}" />
Путь к изображению хранится в таблице настроек в базе данных приложения, но я не могу инициализировать его из объявления Globals, я получаю эту ошибку:
sqlalchemy.exc.UnboundExecutionError:
Не удалось найти привязку, настроенную на
картопостроитель
Mapper | Настройка | Настройка,
Выражение SQL или этот сеанс
Я предполагаю, что привязка базы данных происходит после инициализации Globals. Итак, мои вопросы: какое место лучше всего инициализировать в TurboGears 2 для глобальной переменной, и какое решение для этого лучше.