#python #google-app-engine #session #beaker
#python #google-app-engine #сессия #мензурка
Вопрос:
Привет, я собираюсь использовать собственный объект session и пытаюсь применить beaker с помощью python. Можете ли вы рассказать мне, как использовать его с Google app engine? У меня есть следующий код, а затем я не уверен, как действовать дальше:
session_opts = {
'session.cookie_expires': True,
'session.type': 'ext:google',
'session.key': 'mykey.beaker.session.id',
}
def main():
logging.getLogger().setLevel(logging.DEBUG)
application = webapp.WSGIApplication([(...
... handlers ],debug=True)
application = SessionMiddleware(application, session_opts)
util.run_wsgi_app(application)
Ответ №1:
Как говорится в документации:
Как только программное обеспечение SessionMiddleware будет установлено, объект session будет доступен как beaker.session в среде WSGI.
В Google App Engine вы можете получить доступ к объекту, определяющему сеанс beaker, из веб-обработчика с помощью:
session = self.request.environ['beaker.session']
сеанс представляет собой словарь Python, в который вы можете в основном помещать данные с:
session['somekey'] = 'foo'
или получить данные с помощью:
my_var = session['somekey']
Простой встречный пример был бы примерно таким:
class MainPage(webapp.RequestHandler):
def get(self):
session = self.request.environ['beaker.session']
if 'counter' in session:
counter = session['counter'] 1
session['counter'] = counter
else:
session['counter'] = 1
self.response.out.write('counter: %d' % counter)