Python 蟒蛇瓶-不同于;重定向";及;返回模板";

Python 蟒蛇瓶-不同于;重定向";及;返回模板";,python,redirect,bottle,Python,Redirect,Bottle,关于瓶子,我有两个问题: 1) 以下两者之间的区别是什么: 重定向('/login')和返回模板('login') 这两种方法不会让用户进入相同的/login页面吗 2) 我是否可以像在返回时那样将参数传递给重定向 例如: 这是否有效:重定向('/login',userName=“foo”)就像我们在本例中所做的那样: 返回模板('login',userName=“foo”) 1) 以下两者之间的区别是什么: 重定向('/login')和返回模板('login') 从: 要将客户端重定向到其他U

关于瓶子,我有两个问题:

1) 以下两者之间的区别是什么:

重定向('/login')
返回模板('login')

这两种方法不会让用户进入相同的
/login
页面吗

2) 我是否可以像在返回时那样将参数传递给
重定向

例如:

这是否有效:
重定向('/login',userName=“foo”)
就像我们在本例中所做的那样:

返回模板('login',userName=“foo”)

1) 以下两者之间的区别是什么:

重定向('/login')
返回模板('login')

从:

要将客户端重定向到其他URL,可以发送
303查看其他
位置
标题设置为新URL的响应重定向() 那是给你的

redirect()
方法将向用户发送303响应,然后用户将向您的服务器发送另一个“/login”页面请求。如果使用
template()
方法,将直接将网页返回给用户

2) 我是否可以像在返回时那样将参数传递给
重定向

redirect()
不接受查询变量,例如传递给
template()
的查询变量。如果要使用这些变量,需要在url上显式设置它们。例如,要将url
'/login'
userName=“foo”
一起使用,您需要调用
重定向('/login?userName=“foo”)

编辑如果不想在url中存储所有变量,则应在呈现页面时尝试获取这些值。
e、 g.调用
重定向('/login')
而不使用变量,并使呈现'/login'的方法负责调用
模板()
,使用正确的变量。

不熟悉瓶子,但在烧瓶中
返回模板
精确地说,呈现模板
)将呈现一个模板,
重定向
将用户发送到另一个视图函数,然后您将获得该函数返回的任何内容,一个不同的模板,一些JSON或god help you XML。1)我观察到的几件事-如果我
返回
,它只会将模板返回给用户。但是如果I
重定向
,控件将转到该路由,执行其功能,然后将模板返回给用户。此外,在
重定向
中,url会更改为重定向的路由名称,而在
返回模板
中,url不会更改。2) 通常,我在tpl文件中包含如下内容:
Hellp{{{userName}
。所以结果是-
Hello foo
。如果我像你提到的那样从url传递变量,我可以在tpl中使用它们吗?@ss2025 2)我想可以,但是你可以尝试在页面中使用重定向,看看它是否有效。是的,谢谢!这东西有用。。但是除了把它放在url中,还有别的方法吗?因为有很多这样的变量,我不想让url看起来很复杂。你可以用POST请求来代替。看见