Найти тему
Kangaroo

Получение и установка cookies в Django

Проблемы — это спрятанные решения. Павел Дуров
Проблемы — это спрятанные решения. Павел Дуров

Прочитать cookies совсем просто. В каждом объекте HttpRequest имеется объект COOKIES, который выглядит как словарь, пример кода по ссылке.

Операция записи в cookie выглядит чуть сложнее. Для этого потребуется вызвать метод set_cookie() объекта HttpResponse, пример кода по ссылке.

Методу response.set_cookie() можно также передать дополнительные параметры, управляющие различными аспектами формирования cookie:

max_age - Время хранения cookie в секундах. Если параметр равен None, то cookie будет храниться до момента закрытия браузера
expires - Точная дата и время окончания срока хранения cookie. Если параметр задан, то он отменяет параметр max_age
path - Префикс пути, для которого действует этот cookie. То есть браузер будет передавать данный cookie только при обращении к страницам, URL которых начинается с этого префикса
domain - Домен, для которого действует этот cookie. С помощью данного параметра можно установить междоменный cookie
secure - Булевое значение, по умолчанию равное False. Если же он равен True, то браузер будет посылать данный cookie только по защищенному HTTP-соединению

Cookies и сохраняемые сеансы являются примерами болевых точек веб-разработки, однако Django является эффективным фреймворком, в него входит подсистема сеансов, предназначенная для преодоления этих трудностей, о чем мы поговорим в следующей статье.