2

マニフェストでthreadsafeをfalseに設定してPython2.7ランタイムを使用しています。

私は安全ですか

user = users.get_current_user()

スクリプトの先頭、グローバルスペースで、名前空間の問題なしにさまざまなハンドラー内から参照しますか?

4

1 に答える 1

4

基本クラスを作成し、そこにいくつかの関数を追加してから、基本クラスからすべてのハンドラーを拡張することをお勧めします。これget_current_user()は、要求ハンドラーと関係があり、そこでのみ意味があるためです。

次に例を示します。

import webapp2
from google.appengine.api import users

class BaseHandler(webapp2.RequestHandler):
  def get_user(self):
    #Maybe also adding some logic here or returning your own User model
    return users.get_current_user()


class MainPage(BaseHandler):
  def get(self):
    if self.get_user():
      self.response.headers['Content-Type'] = 'text/plain'
      self.response.out.write('Hello, ' + self.get_user().nickname())
    else:
      self.redirect(users.create_login_url(self.request.uri))
于 2012-06-24T21:48:22.597 に答える