Flask 设置 cookie

Flask 设置 cookie

在本文中,我们将介绍如何在 Flask 中设置 cookie,并提供一些示例说明。

阅读更多:Flask 教程

什么是 Cookie?

Cookie 是由服务器在用户的浏览器中存储的小型文本文件。它们用于在用户的不同请求之间存储和传输数据。通过设置 cookie,服务器可以在用户的浏览器中存储信息,以便在用户进行其他请求时使用。

在 Flask 中设置 Cookie

Flask 中,可以使用 set_cookie() 方法来设置 cookie。这个方法接受以下参数:

  • key:cookie 的名称。
  • value:cookie 的值。
  • max_age:cookie 的过期时间,单位为秒。
  • expires:cookie 的过期日期和时间。
  • path:只在特定路径下发送 cookie。
  • domain:只对特定域名发送 cookie。
  • secure:只通过 HTTPS 发送 cookie。
  • httponly:禁止 JavaScript 访问 cookie。

下面是一个设置 cookie 的示例:

from flask import Flask, make_response

app = Flask(__name__)

@app.route("/")
def index():
    resp = make_response("Hello, World!")
    resp.set_cookie("username", "John")
    return resp

if __name__ == "__main__":
    app.run()
Python

在上面的示例中,当用户访问主页时,服务器会返回一个带有名为 “username” 的 cookie,值为 “John”。用户的浏览器会将这个 cookie 存储起来,在后续的请求中一并发送给服务器。

获取和使用 Cookie

在 Flask 中,可以使用 request.cookies 字典来访问客户端发送的所有 cookie。下面是一个获取并使用 cookie 的示例:

from flask import Flask, request

app = Flask(__name__)

@app.route("/")
def index():
    username = request.cookies.get("username")
    if username:
        return f"Hello, {username}!"
    else:
        return "Hello, Guest!"

if __name__ == "__main__":
    app.run()
Python

在上面的示例中,可以通过 request.cookies.get("username") 获取名为 “username” 的 cookie 的值,并根据其值来返回不同的响应。

设置 Cookie 的过期时间

使用 max_age 参数可以设置 cookie 的过期时间。例如,将 max_age 设置为 60 秒表示该 cookie 将在 60 秒后过期。下面是一个示例:

from flask import Flask, make_response

app = Flask(__name__)

@app.route("/")
def index():
    resp = make_response("Hello, World!")
    resp.set_cookie("username", "John", max_age=60)
    return resp

if __name__ == "__main__":
    app.run()
Python

在上面的示例中,用户的浏览器会在 60 秒后自动删除名为 “username” 的 cookie。

删除 Cookie

要删除一个 cookie,可以使用 make_response() 方法创建一个响应对象并调用其 delete_cookie() 方法。下面是一个示例:

from flask import Flask, make_response

app = Flask(__name__)

@app.route("/")
def index():
    resp = make_response("Hello, World!")
    resp.delete_cookie("username")
    return resp

if __name__ == "__main__":
    app.run()
Python

在上面的示例中,当用户访问主页时,服务器会删除名为 “username” 的 cookie。

总结

通过设置 cookie,我们可以在 Flask 中存储和传输数据。使用 set_cookie() 方法可以方便地设置 cookie,使用 request.cookies 字典可以轻松地获取和使用客户端发送的 cookie。我们还可以设置 cookie 的过期时间和删除 cookie。希望本文可以帮助你在 Flask 中有效地设置和使用 cookie。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册