0

我是 Python 世界的新手,并且在让会话在我的 Web 框架中工作方面处于最危险的时期。我尝试让 Beaker 会话与 webpy 框架和 Juno 框架一起工作。在这两个框架中,当我尝试启动会话时,我总是得到一个 KeyError。

这是 webpy 中的错误消息(当我尝试在 Juno 中使用烧杯会话时,它几乎完全相同)......

错误

<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']

代码

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()
4

1 回答 1

2

你还没有创建会话对象,所以你在环境中找不到它(KeyError简单的意思beaker.session是“不在这本字典里”)。

请注意,我对 webpy 和烧杯都不太了解,所以我不能给你更深入的建议,但根据我从文档和源代码中了解到的情况,这应该让你开始:

if __name__ == "__main__": app.run(SessionMiddleware)
于 2009-08-18T18:04:53.963 回答