おそらく関連するトピックですが、問題を解決できませんでした:テーブルの値を使用して TurboGears 2 のグローバル変数を初期化する方法
問題は、Turbogears の app_globals.py でいくつかのグローバル変数を初期化するときに、データベースからいくつかの構成パラメーターを読み取ろうとしていることです。
ただし、データベースにアクセスしようとすると、次の例外が発生します。
sqlalchemy.exc.UnboundExecutionError: Could not locate a bind configured on mapper Mapper|Config|config_table, SQL expression or this Session
例外が述べているように、これはおそらくデータベースがまだバインドされていないためです(グローバルパラメータが最初に設定されます)。他のトピックから、グローバル変数を初期化する前に app_cfg.py に移動し、「on_startup」を使用してデータベースをバインドする方向に向けられましたが、うまくいきません。私が正しくやっていないか、これが問題の解決策ではありません。たとえば、次のように書いてみました。
def on_startup():
print "Foo bar!!!"
base_config.register_hook('startup', on_startup)
ただし、print ステートメントは実行されません (クラッシュは前に発生します)。
ここからどこへ行くべきかについての指針はありますか?
前もって感謝します。