所以...使用Google App Engine用户服务。
我应该创建本地用户对象:
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 :-)
当然是为什么。用户服务的使用在资源上是否代价高昂?
答案 0 :(得分:1)
本地调用总是更好地作为触发许多方法调用的调用。效率增益取决于代码调用它的频率。对于2个电话,没关系。
答案 1 :(得分:1)
对于每个请求,本地范围的用户对象应该没问题。
确保my_user是您的线程和当前请求的本地:
如果它在不同的请求之间共享,则无法保证它实际上是发出请求的用户,除非您有一些单独的会话验证。
不同的线程可以处理不同的请求,在这种情况下你会遇到上述问题。