Flask 中如何设置 Cookie?

推荐答案

在 Flask 中,可以通过 response.set_cookie() 方法来设置 Cookie。以下是一个简单的示例:

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

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

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

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

在这个示例中,set_cookie() 方法用于设置一个名为 username 的 Cookie,其值为 john_doe,并且设置了有效期为 1 天(max_age=60*60*24)。

本题详细解读

1. set_cookie() 方法

set_cookie() 方法是 Flask 中用于设置 Cookie 的主要方法。它通常与 make_response() 结合使用,因为 set_cookie() 需要在响应对象上调用。

2. 参数说明

  • key: Cookie 的名称,例如 'username'
  • value: Cookie 的值,例如 'john_doe'
  • max_age: Cookie 的有效期,以秒为单位。例如 60*60*24 表示 1 天。
  • expires: Cookie 的过期时间,通常是一个 datetime 对象。如果同时设置了 max_ageexpiresmax_age 优先。
  • path: Cookie 的路径范围,默认为 /,表示整个网站。
  • domain: Cookie 的域名范围,默认为当前域名。
  • secure: 如果设置为 True,则 Cookie 只能通过 HTTPS 传输。
  • httponly: 如果设置为 True,则 Cookie 无法通过 JavaScript 访问,增加了安全性。

3. 读取 Cookie

在 Flask 中,可以通过 request.cookies 来读取客户端发送的 Cookie:

4. 删除 Cookie

要删除一个 Cookie,可以通过设置 max_age 为 0 或 expires 为一个过去的时间来实现:

通过以上方法,你可以在 Flask 应用中轻松地设置、读取和删除 Cookie。

纠错
反馈