データベースに接続するWebアプリケーションを作成しています。現在、他のモジュールからインポートしたモジュールで変数を使用していますが、これは厄介な感じがします。
# server.py
from hexapoda.application import application
if __name__ == '__main__':
from paste import httpserver
httpserver.serve(application, host='127.0.0.1', port='1337')
# hexapoda/application.py
from mongoalchemy.session import Session
db = Session.connect('hexapoda')
import hexapoda.tickets.controllers
# hexapoda/tickets/controllers.py
from hexapoda.application import db
def index(request, params):
tickets = db.query(Ticket)
application.py
問題は、データベースへの複数の接続を取得することです( 2つの異なるモジュールにインポートするため、Session.connect()
関数が2回実行されると思います)。
複数の接続を作成せずに(つまり、アプリケーション全体で1回db
だけ呼び出す)、複数のモジュールからアクセスするにはどうすればよいですか?Session.connect()