ss2*_*025 3 python redirect bottle
我有两个关于瓶子的问题:
1)有什么区别:
redirect('/login') 和 return template('login')
是不是都会让用户同一/login页面?
2)我可以redirect像我一样传递参数return吗?
例如:
这是否有效:redirect('/login', userName="foo")正如我们在这种情况下所做的那样:
return template('login', userName="foo")
1)有什么区别:
redirect('/login')和return template('login')
要将客户端重定向到其他URL,您可以将
303 See Other带有Location标头集的响应发送到新URL.redirect()为你做到了
该redirect()方法将向用户发送303响应,然后用户将向您的服务器发送另一个请求以获取"/ login"页面.如果您使用该template()方法,您将直接将网页返回给用户.
2)我可以
redirect像我一样传递参数return吗?
redirect()不接受查询变量,例如您传递给的变量template().如果要使用这些变量,则需要在URL上显式设置它们.例如,使用URL '/login'有userName="foo",你需要调用redirect('/login?userName="foo")
编辑如果您不想将所有变量存储在URL中,则应该在呈现页面时尝试获取这些值.例如,在redirect('/login')没有变量的情况下调用,并使得template()使用正确的变量呈现'/ login'的方法负责.