2009-08-17 7 views
0

Je suis novice dans le monde Python et j'ai le plus de mal à faire fonctionner les sessions dans mes frameworks web. J'ai essayé de faire en sorte que les sessions Beaker fonctionnent avec le framework webpy et le framework Juno. Et dans les deux cadres, je reçois toujours une erreur KeyError lorsque j'essaie de démarrer la session.Impossible de faire fonctionner les sessions Beaker (KeyError)

Voici le message d'erreur dans webpy (son à peu près la même chose lorsque je tente d'utiliser des sessions bécher à Juno aussi) ...

erreur

<type 'exceptions.KeyError'> at/
'beaker.session' 
Python  /Users/tyler/Dropbox/Code/sites/webpy1/code.py in GET, line 15 
Web  GET http://localhost:1234/ 

15.   session = web.ctx.environ['beaker.session'] 

CODE

import web 
import beaker.session 
from beaker.middleware import SessionMiddleware 

urls = (
'/', 'index' 
) 

class index: 
    def GET(self): 
     session = web.ctx.environ['beaker.session'] 
     return "hello" 


app = web.application(urls, globals()) 
if __name__ == "__main__": app.run() 

Répondre

2

Vous n'avez pas encore créé l'objet session, donc vous ne le trouvez pas dans l'environnement (le KeyError signifie simplement "beaker.session" n'est pas dans cette diction ary ").

Notez que je ne sais pas non plus, ni webpy bécher très bien, donc je ne peux pas vous donner des conseils plus profond, mais d'après ce que je comprends de la documentation et la source cela devrait vous aider à démarrer:

if __name__ == "__main__": app.run(SessionMiddleware) 
Questions connexes