2

こんにちは私は独自のセッションオブジェクトを使用し、Pythonでビーカーを適用しようとしています。GoogleAppEngineでの使用方法を教えてください。次のコードがありますが、続行する方法がわかりません。

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

1 に答える 1

4

ドキュメントにあるように:

SessionMiddlewareが配置されると、セッションオブジェクトがWSGI環境でbeaker.sessionとして使用できるようになります。

Google App Engineでは、次のコマンドを使用して、WebHandlerからビーカーセッションの辞書オブジェクトにアクセスできます。

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)
于 2011-05-09T12:09:31.477 に答える