在 Django 中,set_cookie
是用于设置响应中的 Cookie 的方法。以下是其主要参数及其含义:
HttpResponse.set_cookie(
key, # Cookie 的键(字符串)
value='', # Cookie 的值(字符串)
max_age=None, # Cookie 的最大存活时间,以秒为单位
expires=None, # Cookie 的过期日期和时间(datetime.datetime 对象)
path='/', # Cookie 的有效路径
domain=None, # Cookie 的有效域
secure=None, # 如果为 True,则只在 HTTPS 连接中传输 Cookie
httponly=False, # 如果为 True,则 JavaScript 无法访问该 Cookie
samesite=None # 控制浏览器何时发送 Cookie
)
-
key: Cookie 的键,是一个字符串。
-
value: Cookie 的值,是一个字符串。
-
max_age: Cookie 的最大存活时间,以秒为单位。如果设置了
max_age
,那么 Cookie 将在指定的秒数后过期。如果未设置或为None
,则该 Cookie 是一个会话 Cookie,关闭浏览器后将被删除。 -
expires: Cookie 的过期日期和时间,是一个
datetime.datetime
对象。与max_age
一样,用于设置 Cookie 的过期时间。如果expires
和max_age
都提供,max_age
优先。 -
path: Cookie 的有效路径,是一个字符串。默认是
'/'
,表示整个网站。 -
domain: Cookie 的有效域,是一个字符串。默认是当前域。
-
secure: 如果为
True
,则只在 HTTPS 连接中传输 Cookie。默认为None
,表示在所有连接中都传输。 -
httponly: 如果为
True
,则 JavaScript 无法访问该 Cookie。默认为False
,允许 JavaScript 访问。 -
samesite: 控制浏览器何时发送 Cookie。可以是
'Lax'
、'Strict'
或None
。详情可参考 SameSite 属性。