我正在使用webapp2_extras來設置會話變量。如果我在設置它之後打印該變量,則該值是正確的。 save_sessions調用也被創建。但是,當我再次發出請求時,變量未設置。Webapp2會話在請求之間丟失
大部分代碼是從webapp2 documentation採取:
import webapp2
from webapp2_extras import sessions
class BaseHandler(webapp2.RequestHandler):
def dispatch(self):
self.session_store = sessions.get_store(request=self.request)
try:
webapp2.RequestHandler.dispatch(self)
finally:
self.session_store.save_sessions(self.response)
@webapp2.cached_property
def session(self):
return self.session_store.get_session()
class MainHandler(BaseHandler):
def get(self):
foo = self.session.get('foo')
print foo
self.session['foo'] = 'bar'
foo = self.session.get('foo')
print foo
self.response.write(BaseHandler)
config = {}
config["webapp2_extras.sessions"] = {
"secret_key": "key",
}
app = webapp2.WSGIApplication([
('/', MainHandler)
], debug=True, config=config)
這總是返回「無事」,但我想它返回「什麼東西」爲第二個請求。
有同樣的問題,你有沒有找到解決的辦法? –
@MartinKapfhammer不,不幸的是。 –
嘗試每次使用會話類後調用self.response.out.write ...也許這是巧合,但它對我很有用 –