Согласно документации request.META , это «стандартный словарь Python, содержащий все доступные заголовки HTTP». Если вы хотите получить все заголовки, вы можете просто просмотреть словарь.
Какая часть вашего кода это делать, зависит от ваших конкретных требований. Подойдет любое место, к которому есть доступ request.
Обновить
Мне нужно получить к нему доступ в классе промежуточного программного обеспечения, но когда я повторяю его, я получаю много значений, кроме заголовков HTTP.
Из документации:
За исключением CONTENT_LENGTHи CONTENT_TYPE, как указано выше, любые HTTPзаголовки в запросе преобразуются в METAключи путем преобразования всех символов в верхний регистр, замены дефисов символами подчеркивания и добавления HTTP_префикса к имени .
(Курсив добавлен)
Чтобы получить только HTTPзаголовки, просто отфильтруйте их по ключам с префиксом HTTP_.
Обновление 2
не могли бы вы показать мне, как я могу создать словарь заголовков, отфильтровав все ключи из переменной request.META, которые начинаются с HTTP_, и вычеркните ведущую часть HTTP_.
Конечно. Вот один из способов сделать это.
import re
regex = re.compile('^HTTP_')
dict((regex.sub('', header), value) for (header, value)
in request.META.items() if header.startswith('HTTP_'))