Атрибут cookies
Атрибут cookies применяется к объекту
запроса request и возвращает словарь
с куками, которые клиент передал вместе
с HTTP-запросом. Ключами словаря являются
имена кук, а значениями - их строковые
значения. Если клиент не отправил ни одной
куки, атрибут возвращает пустой словарь.
Атрибут доступен внутри функций-обработчиков
через глобальный объект request
или через экземпляр класса Request.
Доступ к отдельной куке можно получить
по ключу или через метод get_cookie.
Синтаксис
request.cookies
Пример
Давайте выведем все куки, отправленные клиентом, в виде словаря:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
return str(request.cookies)
Результат выполнения кода при наличии
куки user со значением 'abcde':
{'user': 'abcde'}
Пример
Давайте получим значение конкретной куки по её имени:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
user = request.cookies.get('user', 'guest')
return 'Hello, ' + user
Результат выполнения кода при наличии
куки user со значением 'abcde':
Hello, abcde
Если кука не передана, сработает значение
по умолчанию 'guest':
Hello, guest
Пример
Давайте переберём все куки в цикле и выведем их построчно:
from bottle import Bottle, request
app = Bottle()
@app.route('/')
def index():
res = []
for name, value in request.cookies.items():
res.append(name + '=' + value)
return '; '.join(res)
Результат выполнения кода при наличии
кук user и lang:
user=abcde; lang=ru
Смотрите также
-
класс
Request,
который представляет HTTP-запрос -
метод
get_cookie,
который возвращает значение куки по имени -
атрибут
query,
который хранит параметры строки запроса -
атрибут
headers,
который хранит заголовки HTTP-запроса