我在 Google App Engine 中有一个 Python 脚本,它只向用户提供一个简单的欢迎消息。如果用户登录到 Google,则会收到一 strip 有代码的个性化欢迎消息:
if users.get_current_user():
self.response.out.write('Welcome ' + users.get_current_user()')
我想做的是,如果用户尚未登录,可以按下一个按钮,将他们重定向到 Google 登录页面以登录他们的帐户。
else:
#redirect user to login page here
我已经尝试了一些方法来做到这一点,但没有一个能奏效。我试过:
self.response.out.write('<form action="%s">
<input type="submit" value="Login to Google"></form>
' % users.create_login_url('/')
按下按钮时没有任何反应,所以我尝试了:
self.response.out.write('<form action="%s">
<input type="submit" value="Login to Google"></form>
' % self.redirect(users.create_login_url('/'))
这只是在访问主页后立即将用户重定向到登录页面。
有没有办法在按下按钮时将用户重定向到 Google 登录页面?
最佳答案
您缺少的是一个检查 url 并重定向用户的处理程序:
因此对于表单操作,您必须将其更改为:
signin_page = "/signin/"
self.response.write('<form action="%s">
<input type="submit" value="Login to Google"></form>'
% signin_page)
然后在处理程序中:
class SignInHandler(webapp2.RequestHandler):
def get(self):
self.redirect(users.create_login_url(self.request.uri))
最后:
application = webapp2.WSGIApplication([('/', IndexPageHandler),
('/signin/', SignInHandler),],)
关于python - Google App Engine 在按钮点击时重定向到用户登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13657506/