python - Google App Engine 在按钮点击时重定向到用户登录

标签 python html google-app-engine redirect hyperlink

我在 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/

相关文章:

html - 使用居中 Logo 调整导航栏中的间距

html - 如何让div图片相互对齐

google-app-engine - Google App Engine 可选斜杠重定向

python - 应用引擎 : CPU Over Quota on urlfetch()

python - 如何读取 Google 表格中单元格的颜色

python - 这个函数的大O表示法是什么

Python Django 不返回新页面也不重新加载

python - 从 Kubernetes api 打印日志

jquery - 网页的滚动条丢失,div 无法延伸到底部

java - Google App Engine JDO 查询引用其他表