Utiliser les sessions avec les sous-applications
Autre langages: english | … |
###Note
Cette solution est issue de ce post de la mailing liste de web.py.
##Problème:
Dans le comportement par défaut, les informations de session ne peuvent être partagées qu’au sein de l’application principale, même si vous «importez» la session depuis d’autres modules. Vous devez être en mesure d’accéder aux informations de session depuis une sous-application, mais comment?
##Solution:
Dans votre application principale (code.py par defaut), initialisez votre session de cette façon:
session = web.session.Session(app, web.session.DiskStore('sessions'),
initializer = {'test': 'woot', 'foo':''})
.. puis créez un processor via web.loadhook
def session_hook():
web.ctx.session = session
app.add_processor(web.loadhook(session_hook))
.. et maintenant dans votre sous-application (par exemple sub-app.py) vous pouvez accèder aux informations de session de cette manière:
print web.ctx.session.test
web.ctx.session.foo = 'bar'