0

つまり...GoogleAppEngineユーザーサービスを使用します。

ローカルユーザーオブジェクトを作成する必要があります:

my_user = users.get_current_user()
if not my_user:
    self.redirect(users.create_login_url(self.request.uri), abort=True)
    return
person = Person.get_current(my_user.user_id()) #Here

または、いつでもユーザーサービスからユーザーオブジェクトにアクセスしますか?:

my_user = users.get_current_user()
if not my_user:
    self.redirect(users.create_login_url(self.request.uri), abort=True)
    return
#...  code ...
person = Person.get_current(users.get_current_user().user_id()) #And here

または、他の何か?:

helping useres :-)

そしてもちろん、その理由。ユーザーサービスの使用はリソースにコストがかかりますか?

4

2 に答える 2

1

ローカル呼び出しは、多くのメソッド呼び出しをトリガーする呼び出しとして常に優れています。効率の向上は、コードが呼び出す頻度によって異なります。2回の呼び出しでは問題ありません。

于 2012-12-18T16:25:25.793 に答える
1

ローカルスコープのユーザーオブジェクトは、リクエストごとに問題ないはずです。

my_userがスレッドと現在のリクエストに対してローカルであることを確認してください。

  • 個別のリクエスト間で共有されている場合、個別のセッション検証がない限り、リクエストを発行しているのが実際に同じユーザーであるという保証はありません。

  • 異なるスレッドが異なるリクエストを処理している可能性があります。その場合、上記の問題が発生します。

于 2012-12-19T14:58:41.313 に答える