Как заставить работать template processor только для нужного приложения\ссылки?

Добрый день!
Суть такая. Есть проект, к нему подключены приложения ( apps ), разные. Есть некоторые темплейт процессоры, которые преобразуют контекст. Некоторые требуются в одном апе, некоторые в другом. Это не правильно, на мой взгляд. Но джанга, как я понял, не умеет отключать процессоры для одной ссылки и влючать для другой.
Или умеет? Есть решения? Спасибо!
  • Вопрос задан
  • 2464 просмотра
Решения вопроса 1
@marazmiki
Укротитель питонов
Контекст-процессоры глобальны. И нет ничего неправильного в том, что некоторые из подключенных процессоров не используются в тех или иных приложениях. Дефолтные контекст-процессоры ленивы (т.е. не будут производить никаких вычислений, пока явно не обратятся к той или иной переменной контекста). Если свои писать в том же lazy-стиле, не случится ничего страшного.

Если же очень-очень хочется отключить какой-то из контекст-процессоров в том или ином приложении, можно использовать threadlocals, чтобы пропатчить settings.TEMPLATE_CONTEXT_PROCESSORS для текущего запроса. Но это некрасиво и вообще костыль, нмвз.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы