Google app engine 用户!=users.get_current_user()

Google app engine 用户!=users.get_current_user(),google-app-engine,if-statement,python-2.7,Google App Engine,If Statement,Python 2.7,更新: 唯一的答案是不是帮助我。该代码在我的本地系统上可以正常工作,但在部署的Python应用程序中不起作用。这对我来说是一系列问题。请认真再看看这个问题 下面是一些简化的代码来显示正在发生的事情。当简化代码被放入SDK的交互控制台时,它总是打印出你好,schott.brian,但在部署的应用程序中,它像打印出不匹配的。怎么回事 user = "schott.brian" name = "schott.brian" if user and user == name: print "H

更新: 唯一的答案是不是帮助我。该代码在我的本地系统上可以正常工作,但在部署的Python应用程序中不起作用。这对我来说是一系列问题。请认真再看看这个问题

下面是一些简化的代码来显示正在发生的事情。当简化代码被放入SDK的交互控制台时,它总是打印出
你好,schott.brian
,但在部署的应用程序中,它像打印出
不匹配的
。怎么回事

user = "schott.brian"
name = "schott.brian"

if user and user == name:
     print "Hello, " + user
else:
     print "no match"
这是我的密码。注意第二个
if
检查
if用户和(user==person.user):

下面是gae上该代码的日志,即使用户存在并且 (user==person.user),表示if子句不成功。你能告诉我为什么吗?这两个网站中有一个真的包括gmail.com,而另一个没有

2012-07-17 15:39:19.993 6 person schott.brian
I 2012-07-17 15:39:19.993 6 key ag1zfnBhcnRpY2lwb2xschMLEgJQUSILY29kZUJTY2hvdHQM
I 2012-07-17 15:39:19.993 6 ID_id codeBSchott
I 2012-07-17 15:39:19.993 6 user schott.brian
I 2012-07-17 15:39:19.993 7 user schott.brian
I 2012-07-17 15:39:19.994 7 person schott.brian

user.get\u current\u user()
返回一个对象。打印用户将其强制转换为字符串,因此可能需要执行以下操作:

if user and (str(user) == str(person.user)):

但实际上,比较用户ID比比较用户对象的字符串表示更好。

user.get\u current\u user()
返回一个对象。打印用户将其强制转换为字符串,因此可能需要执行以下操作:

if user and (str(user) == str(person.user)):

但实际上,比较用户ID比比较用户对象的字符串表示更好。

Moishe,这会产生相同的结果。但是谢谢。其他想法?例如,问题出在if子句(if user)的另一部分吗?顺便说一句,我认为users.get_current_user()是用户ID.Moishe,它产生相同的结果。但是谢谢。其他想法?例如,问题出在if子句(if user)的另一部分吗?顺便说一句,我认为users.get_current_user()是用户ID。您的答案是正确的,但不充分。我还必须
str(person.user)
。酷!不过,我确实鼓励您使用user.id进行比较。您的回答是正确的,但还不够。我还必须
str(person.user)
。酷!不过,我真的鼓励您使用user.id进行比较。