РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
352 of 818 menu

Атрибут COOKIES

Атрибут COOKIES класса HttpRequest представляет собой словарь, содержащий все файлы cookie, переданные клиентом в текущем HTTP-запросе. Ключи словаря - это имена cookie, а значения - их содержимое. Атрибут доступен только для чтения и автоматически заполняется Django при обработке запроса на основе заголовка Cookie.

Синтаксис

request.COOKIES.get('cookie_name', default_value) # или request.COOKIES['cookie_name']

Пример

Давайте получим значение cookie с именем 'theme' и применим соответствующую тему оформления для пользователя:

from django.http import HttpResponse def set_theme_view(request): theme = request.COOKIES.get('theme', 'light') if theme == 'dark': return HttpResponse("Тёмная тема активирована") elif theme == 'light': return HttpResponse("Светлая тема активирована") else: return HttpResponse(f"Неизвестная тема: {theme}")

Результат выполнения кода при наличии cookie 'theme'='dark':

"Тёмная тема активирована"

Пример

Давайте проверим наличие определённого cookie и выполним действие в зависимости от его значения:

from django.http import HttpResponse def check_session_cookie(request): session_id = request.COOKIES.get('sessionid') if session_id: return HttpResponse(f"Сессия активна: {session_id[:10]}...") else: return HttpResponse("Сессия не найдена")

Результат выполнения кода при наличии cookie 'sessionid':

"Сессия активна: abcdef1234..."

Пример

Давайте обработаем случай, когда нужное cookie отсутствует, используя безопасный доступ:

from django.http import HttpResponse def get_user_preferences(request): # Безопасное получение значений language = request.COOKIES.get('lang', 'ru') timezone = request.COOKIES.get('tz', 'UTC') return HttpResponse( f"Язык: {language}, часовой пояс: {timezone}" )

Результат выполнения кода при отсутствии cookie:

"Язык: ru, часовой пояс: UTC"

Смотрите также

  • метод set_cookie,
    который устанавливает файл cookie в ответе
  • метод delete_cookie,
    который удаляет файл cookie из ответа
  • метод set_signed_cookie,
    который устанавливает подписанный файл cookie
  • декоратор ensure_csrf_cookie,
    который гарантирует отправку CSRF-токена в cookie
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить