|
Julien Cigar
jcigar at ulb.ac.be
Sat Oct 15 14:28:10 EDT 2005
Hello,
I use mod_python for some time now, and I wondered where's the best
place to manage database connections / cursors ?
I run a home made 'publisher' handler and what I'm actually doing is to
open a global database connection in the index.py, and pass this
variable in classes ... is this the best way ?
a little example:
-> index.py:
import psycopg
from mod_python import apache
config = apache.import_module('config')
connection = psycopg.connect(config.getDbConnectionString())
def action1 (req):
pageAction1 = apache.import_module('pages/action1')
page = pageAction1.pageAction1(connection)
return __render (req, 'action1')
def action2 (req):
name = req.form.getfirst('name')
pageAction2 = apache.import_module('pages/action2')
page = pageAction2.pageAction2(connection, name)
return __render (req, 'action2')
....
-> pages/action1.py:
class pageAction1:
def __init__(self, conn):
self.connection = conn
self.cursor = conn.cursor()
def getList(self, foo, bar):
blah = self.cursor.execute('SELECT * FROM bleh')
return self.cursor.dictfetchall()
...
(truncated for visibility ...)
Thanks
|