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

Атрибут META

Атрибут META класса HttpRequest представляет собой словарь (dict), содержащий все заголовки HTTP-запроса и метаданные серверного окружения. Это стандартный словарь Python, доступный только для чтения. Ключи в нем обычно записываются в верхнем регистре, а дефисы в именах заголовков заменяются на символы подчеркивания. Например, заголовок HTTP_USER_AGENT хранит информацию о браузере клиента.

Ключи, начинающиеся с HTTP_, соответствуют стандартным HTTP-заголовкам, переданным в запросе. Другие ключи, такие как REMOTE_ADDR, SERVER_NAME, SERVER_PORT и подобные, предоставляют информацию о серверном окружении и настройках сервера. Атрибут часто используется для проверки IP-адреса клиента, определения типа браузера или получения данных о реферере.

Синтаксис

request.META.get('HTTP_HOST')

Пример

Давайте получим IP-адрес клиента, используя ключ REMOTE_ADDR:

from django.http import HttpResponse def get_client_ip(request): client_ip = request.META.get('REMOTE_ADDR') return HttpResponse(f"Client IP: {client_ip}")

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

"Client IP: 192.168.1.10"

Пример

Определим тип браузера пользователя через заголовок HTTP_USER_AGENT:

from django.http import HttpResponse def get_browser_info(request): user_agent = request.META.get('HTTP_USER_AGENT', 'Unknown') return HttpResponse(f"User-Agent: {user_agent}")

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

"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"

Пример

Проверим, был ли сделан запрос через AJAX, по заголовку HTTP_X_REQUESTED_WITH:

from django.http import JsonResponse def check_ajax(request): is_ajax = request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest' return JsonResponse({'ajax': is_ajax})

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

"{'ajax': True}"

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

  • атрибут GET,
    который содержит все GET-параметры запроса
  • атрибут headers,
    который предоставляет доступ к HTTP-заголовкам через объект, подобный словарю с регистронезависимыми ключами
  • атрибут method,
    который возвращает HTTP-метод запроса (GET, POST и т.д.)
  • атрибут path,
    который возвращает путь запроса без учета строки запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить