Я совершенно не согласен. TLS чрезвычайно полезен. Его следует использовать с осторожностью, так же как и с глобальными. но говорить, что его вообще не следует использовать, так же смешно, как и говорить, что глобальные символы никогда не следует использовать.
Например, я храню текущий активный запрос в TLS. Это делает его доступным из моего класса логов, без необходимости передавать запрос через каждый отдельный интерфейс - включая многие, которые вообще не заботятся о Django. Это позволяет мне делать записи в любом месте кода; регистратор выводит данные в таблицу базы данных, и если при создании журнала запрос оказывается активным, он регистрирует такие вещи, как активный пользователь и то, что запрашивается.
Если вы не хотите, чтобы один поток имел возможность изменять данные TLS другого потока, то настройте свой TLS, чтобы запретить это, что, вероятно, требует использования собственного класса TLS. Я не считаю этот аргумент убедительным; если злоумышленник может выполнить произвольный код Python в качестве бэкэнда, ваша система уже смертельно скомпрометирована - он может обезопасить все, что будет позже запущено другим пользователем, например.
Очевидно, вы захотите очистить любой TLS в конце запроса; в Django это означает очистку его в process_response и process_exception в классе промежуточного программного обеспечения.