gpt4 book ai didi

python - 谷歌应用引擎: Users API acting oddly

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:00 25 4
gpt4 key购买 nike

我认为我错误地使用了 Users API:

class BaseHandler(webapp.RequestHandler):
user = users.get_current_user()

def header(self, title):
if self.user:
render('Views/link.html', self, {'text': 'Log out', 'href': users.create_logout_url('/')})
else:
render('Views/link.html', self, {'text': 'Log in', 'href': users.create_login_url('/')})

link.html:

<p>
<a href="{{href}}">{{text}}</a>
</p>

有时有效,有时无效。我将连续点击“注销”链接10次,然后重新加载页面,它会将我重定向到'/'页。然后,奇怪的是,有一次我会被注销。登录失败的方式基本相同。这是怎么回事?

已解决 - 这有效:

class BaseHandler(webapp.RequestHandler):

def __init__(self):
self.user = users.get_current_user()

def header(self, title):
if self.user:
render('Views/message.html', self, {'msg': "Welcome, %s" % self.user.nickname()})
render('Views/link.html', self, {'text': 'Log out', 'href': users.create_logout_url('/')})
else:
render('Views/link.html', self, {'text': 'Log in', 'href': users.create_login_url('/')})

看起来我可以通过将实例变量引用为 self.var_name 来获得它们在函数中,但从未在类级别上声明它们。奇怪。

最佳答案

您将 users.get_current_user() 的结果存储在名为 user 的变量中,但随后您的 if 检查 self.user,这不是同一个变量。

使用相同的变量名,一切都应该没问题!

关于python - 谷歌应用引擎: Users API acting oddly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com