据我所知, Tornado 会自动添加" next" 查询字符串参数,表示导致重定向的源网址。我们可以使用它将用户重定向回他/她想访问的页面。
因此,我尝试构建post()
的{{1}}方法,如下所示:
LoginHandler
但重定向效果不佳。它始终将用户重定向回根网址#34; class LoginHandler(tornado.web.RequestHandler):
def get(self):
pass #some code here
def post(self):
[...] #some code here:verify user identity
#if passed the verification
self.set_secure_cookie("username", username)
#redirect the user back to the page he wanna visit
self.redirect(self.get_argument("next", "/"))
"。似乎找不到" next" 参数,/
方法始终返回默认网址" get_argument()
"。
为了证明我的怀疑,我尝试使用python的/
机制注销self.request.arguments
,最后确认:那里没有" next& #34;论证,真的。
我的问题是:
此外:
我的怀疑是:
当有人按下"登录"按钮,浏览器将使用logging
向服务器发送(username, password)
对。另一方面,post()
方法在此期间不会被触发。因此,它如何执行重定向?