Graham Dumpleton
grahamd at dscpl.com.au
Tue May 10 07:11:14 EDT 2005
On 10/05/2005, at 8:33 PM, Wouter van Marle wrote: > Update on my own message: > I have changed the structure a bit, sess has now become req.session, > so I can pass around the session together with the request object > easily. > The locking problem has been solved by calling req.session.unlock() > every time after saving the session, however this causes the server to > start a new session for each request, and that's not the idea, as then > info gets lost. > Also I've noticed that writing and reading back of cookies does not > work properly. I'm trying to write a cookie, and when reading it back > in case of a new session I get the old data again. But that's for > another question. I saving session in "req" anyway, do this: > def home(req): > sess = Session.Session(req) > if sess.is_new(): > # get settings from cookies (using Cookie) > # page built up, using sess["language"] for the language setting. > sess.save() > return apache.OK def home(req): if not hasattr(req,"session"): req.session = Session.Session(req) if req.session.is_new(): ... ... req.session.save() return apache.OK > def english(req) > sess = Session.Session(req) > sess["language"] = "en" > sess.save() > home(req) # to redraw the main page def english(req): if not hasattr(req,"session"): req.session = Session.Session(req) req.session["language"] = "en" return home(req) Shouldn't need to unlock session then and same session object used. Graham
|