出于某种原因,web.py 似乎无法记住我的会话。它适用于内置的网络服务器,但是当我将我的应用程序与 WSGI 一起使用时,不会记住会话。
我检查了磁盘存储会话文件夹,并且正在创建文件。似乎它不“记住”这些会话。
我的代码中有这个:
app = web.application(urls, globals(), autoreload=False)
application = app.wsgifunc()
curdir = os.path.dirname(__file__)
session = web.session.Session(
app, web.session.DiskStore(os.path.join(curdir, 'sessions')),
{ 'name': None, 'uid': 0, 'logged_in': False,
'username': None, 'password': None})
当我执行这部分登录时,它会很好地重定向到/account
内置网络服务器(我的 post 方法检查登录,然后将 logged_in 设置为True
),但在 wsgi 中它只是再次返回登录屏幕:
def GET(self):
if session.logged_in != True:
return self.getLoginScreen()
else:
raise web.seeother('/account')
在 Ubuntu 12.04 上使用 Apache2 运行 WSGI。我的 apache2 错误日志是空的。