何らかの理由で、web.py が私のセッションを記憶できないようです。組み込みの Web サーバーでは問題なく動作しますが、アプリケーションを 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
と、組み込みの Web サーバーに正常にリダイレクトされます (私の post メソッドはログインをチェックし、logged_in を に設定しますTrue
) が、wsgi では loginscreen を再び返すだけです:
def GET(self):
if session.logged_in != True:
return self.getLoginScreen()
else:
raise web.seeother('/account')
Ubuntu 12.04 で Apache2 を使用して WSGI を実行します。apache2 エラー ログが空です。