Метод set_cookie
Метод set_cookie применяется к объекту ответа
Response и добавляет в него заголовок
Set-Cookie. Первым параметром передаётся имя
cookie, вторым - его значение. Дополнительные
параметры управляют сроком жизни, путём, доменом и
другими атрибутами cookie.
Синтаксис
response.set_cookie(key, value='', max_age=None, expires=None, path='/', domain=None, secure=False, httponly=False, samesite=None)
Пример
Давайте установим простую cookie username со
значением 'user' и вернём ответ:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('hello')
res.set_cookie('username', 'user')
return res
В результате в ответе появится заголовок:
Set-Cookie: username=user; Path=/
Пример
Давайте зададим время жизни cookie через параметр
max_age в секундах:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('hello')
res.set_cookie('username', 'user', max_age=3600)
return res
Теперь cookie будет храниться в браузере один час.
Пример
Давайте установим сразу несколько cookie и защитим
их флагом httponly:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
res = make_response('hello')
res.set_cookie('username', 'user', httponly=True)
res.set_cookie('theme', 'dark', httponly=True)
return res
В результате в ответе появятся два заголовка:
Set-Cookie: username=user; Path=/; HttpOnly
Set-Cookie: theme=dark; Path=/; HttpOnly
Смотрите также
-
класс
Response,
который представляет HTTP-ответ во Flask -
метод
delete_cookie,
который удаляет cookie из ответа -
атрибут
headers,
который хранит заголовки ответа -
метод
set_data,
который устанавливает тело ответа