Установка переменной в промежуточном программном обеспечении для доступа в шаблоне

Мне кажется, что мне трудно установить переменную в одном из моих классов промежуточного программного обеспечения, к которому я могу затем получить доступ на уровне шаблона.

Основная схема такова:

class TheMiddleware(object):
    def __init__(self, etc):
        stuff...

    def process_response(self, request, response):
        request.my_var = "whatever"
        return response

Тогда по шаблону для другого просмотра у меня есть:

{% custom_tag arg_a %}

Это тег шаблона, который должен возвращать переменную из запроса:

@register.simple_tag
def custom_tag(arg_a):
    return threading.currentThread().request.my_var

Это ошибки сMsgstr "Поймал AttributeError при рендеринге: объект 'WSGIRequest' не имеет атрибута 'my_var'"

Я подумал, что это может быть способ доступа к запросу в теге шаблона. Поэтому я добавил django.core.context_processors.request к своим TEMPLATE_CONTEXT_PROCESSORS, как вЭтот вопрос и попытался передать объект запроса тегу, а затем получить доступ к запросу непосредственно из шаблона, но безуспешно.

Я думаю, что мне не хватает понимания того, как работают объекты запроса. Можно ли присвоить переменную объекту запроса и выбрать эту переменную в нескольких представлениях? Я думал, что объект запроса был пропущен через представления, но вместо этого создается новый экземпляр.

Если это так, как бы вы сохранили глобальную переменную в промежуточном программном обеспечении, к которой вы могли бы затем обращаться из любой точки вашего приложения, будь то представление или шаблон?

Обновить:

Чтобы устранить путаницу (будь то моя или других, я не уверен!) Яне пытаясь установить переменную запроса в промежуточном программном обеспечении process_response представления, а затем забрать ее в шаблонетого же взгляда, Я понимаю, что это не сработает, потому что шаблон был обработан до сохранения переменной. (Это преднамеренный акт с моей стороны).

У меня два взгляда,view1 а такжеview2 view one имеет декоратор, который заставляет промежуточное ПО устанавливать переменную в запросе. Это шаблон view2, который приходит после того, как переменная была установлена, я хочу получить доступ к переменной.

Ответы на вопрос(2)

Ваш ответ на вопрос