Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tornado下一个查询字符串URL参数 问题:_Python_Url_Parameters_Tornado_Next - Fatal编程技术网

Python Tornado下一个查询字符串URL参数 问题:

Python Tornado下一个查询字符串URL参数 问题:,python,url,parameters,tornado,next,Python,Url,Parameters,Tornado,Next,由于Tornado附加了一个下一个查询字符串参数,其中包含构建重定向URL的资源的URL,因此有时我们可以在登录或注销后将用户重定向回引用页面,应用行self.redirect(self.get_参数(“next”,“/”) 但是当我在下面的代码中使用它时,它不起作用。 如果没有登录,当访问页面/test时,它将重定向到/login?next=%2Ftest,但参数next始终为null,它将重定向到根页面而不是/test 我如何解决这个问题 代码 在LoginHandler的get方法中,使用

由于Tornado附加了一个下一个查询字符串参数,其中包含构建重定向URL的资源的URL,因此有时我们可以在登录或注销后将用户重定向回引用页面,应用行
self.redirect(self.get_参数(“next”,“/”)

但是当我在下面的代码中使用它时,它不起作用。 如果没有登录,当访问页面/test时,它将重定向到/login?next=%2Ftest,但参数next始终为null,它将重定向到根页面而不是/test

我如何解决这个问题

代码
LoginHandler
get
方法中,使用
next
参数进行重定向

...

class LoginHandler(BaseHandler):
    def get(self):
        if self.get_current_user():
            self.redirect(self.get_argument('next', '/')) # Change this line
            return
        self.render('login.html')

...

我不明白为什么
get
方法需要这个。用户输入凭证,
post
方法处理凭证并执行重定向。但是为什么
get
method需要它呢?@avi当用户导航到您的登录表单页面(比如从公共主页上的“login”链接)并且您希望自动重定向loggedin users时,这是很有用的。我仍然没有得到它。用户访问需要登录的受保护页面。他将被重定向到登录表单,下一个参数包括受保护的页面。他输入登录名,它将由登录处理程序的POST方法处理,并执行重定向。这里的图片是从哪里获得登录信息的?@avi说一个用户已经登录了,但不知怎么的,他又导航到了登录页面。该怎么办?您不应该为他呈现登录表单,因为他是经过身份验证的用户!这就是为什么。
...

class LoginHandler(BaseHandler):
    def get(self):
        if self.get_current_user():
            self.redirect(self.get_argument('next', '/')) # Change this line
            return
        self.render('login.html')

...