Я думаю, что проблема в пользовательском теге, как вы предложили.
Я не согласен с тем, что request.user.username является проблемой, так как документация по теме фактически приводит это в качестве примера, и я использовал его с внутренним кэшированием (например, числом постов), в тестировании и все работало нормально.
Кэш низкого уровня потенциально полезен, но я бы посмотрел на ваш пользовательский тег, чтобы увидеть, что не будет кэшироваться. Без кода трудно угадать, но я думаю, что будет возвращаться что-то вроде времени или какой-то другой переменной, которая заставляет его инициировать обновление (если XML извлекает какие-либо данные, которые изменяют, Django может вызвать обновление, в зависимости от на других настройках). У меня были смешанные результаты с кэшированием Django, поэтому я хотел бы взглянуть на ваши фиды XML, чтобы узнать, не вызывает ли это что-то, что прекращает кэширование.