Заголовки HTTP содержатся в request.META
, который является просто словарем, который вы можете прочитать и написать . В META
имена заголовков имеют префикс HTTP_
и прописные буквы. Таким образом, чтобы получить доступ к заголовку 'Foo', вы должны сделать:
request.META['HTTP_FOO'] = 'bar'
Свойство headers
(собственно свойство cached) - это просто удобный способ доступа к заголовкам HTTP, не беспокоясь о префиксе. и верхний регистр, но он доступен только для чтения.
Чтобы сбросить кэшированное свойство, просто удалите его из __dict__
экземпляра, например:
request.__dict__.pop('headers', None)
Это обеспечит вызов метода снова в следующий раз к нему обращаются. Я добавил None
к pop()
, чтобы гарантировать, что это не обработает sh, поскольку, если к нему не было доступа, оно не будет в __dict__
. Если вы обращаетесь к нему явно в своем собственном коде, тогда достаточно request.__dict__.pop('headers')
.