search

Home  >  Q&A  >  body text

Tornado在initialize内实现页面跳转?

正如上述所说,大概是这样的,用户打开某一个URL的时候我会获取用户的cookie,如果用户登陆了,如果获取到cookie就不进行任何操作,否则就跳转到的登陆页面,代码如下:

class BaseHandler(tornado.web.RequestHandler):
    def initialize(self):
        UserCookie = self.get_secure_cookie('uc', None)
        if UserCookie:
            pass
        else:
            """ 没有登陆则判断用户的访问路径是什么,如果是/login或者/checkuser则不进行处理,否则跳转登陆页面 """
            UrlPath = ['/login', '/checkuser']
            CurrentPath = self.request.path
            if CurrentPath not in UrlPath:
                self.redirect('/login')

但是貌似这种跳转并不会成功,希望得到解答与解决方案,感谢!

早上又看了下,用JS实现了跳转:

self.write('<script language="javascript">top.window.location.href="/login";</script>')

不知道为什么用Python的redirect方法为什么不可以跳转

高洛峰高洛峰2975 days ago885

reply all(1)I'll reply

  • 三叔

    三叔2016-10-28 09:43:19

    你调试下,看看request.path是多少,是不是应该用request.uri

    reply
    0
  • Cancelreply