Flask 中如何重定向?

推荐答案

在 Flask 中,可以使用 redirect() 函数来实现重定向。redirect() 函数接受一个 URL 作为参数,并将用户重定向到该 URL。通常与 url_for() 函数结合使用,以生成动态 URL。

-- -------------------- ---- -------
---- ----- ------ ------ --------- -------

--- - ---------------

---------------
--- --------
    ------ --------------------------

--------------------
--- --------
    ------ ------- -------

-- -------- -- -----------
    ---------

在这个例子中,访问根路径 / 时,用户会被重定向到 /hello 路径。

本题详细解读

1. redirect() 函数

redirect() 函数是 Flask 提供的一个工具,用于将用户重定向到另一个 URL。它接受一个 URL 字符串作为参数,并返回一个 Response 对象,该对象的 HTTP 状态码为 302(临时重定向)。

在这个例子中,访问 /old 路径时,用户会被重定向到 /new 路径。

2. url_for() 函数

url_for() 函数用于生成 URL。它接受视图函数的名称作为参数,并返回该视图函数对应的 URL。使用 url_for() 可以避免硬编码 URL,使代码更加灵活和可维护。

-- -------------------- ---- -------
---- ----- ------ -------

---------------
--- --------
    ------ --------------------------

--------------------
--- --------
    ------ ------- -------

在这个例子中,url_for('hello') 会生成 /hello 路径的 URL,然后 redirect() 函数将用户重定向到该 URL。

3. 重定向的状态码

默认情况下,redirect() 函数使用 302 状态码进行重定向。如果需要使用其他状态码(如 301 永久重定向),可以将状态码作为第二个参数传递给 redirect() 函数。

在这个例子中,访问 /old 路径时,用户会被永久重定向到 /new 路径。

4. 重定向到外部 URL

redirect() 函数不仅可以重定向到应用内部的 URL,还可以重定向到外部 URL。

在这个例子中,访问 /external 路径时,用户会被重定向到 https://www.example.com

纠错
反馈