Я ищу способ иметь глобальную переменную, доступную любому модулю в моем запросе django, без необходимости передавать его в качестве параметра. Традиционно в других MVC я бы сохранил его в контексте запроса или сеансе и получил доступ к контексту с помощью чего-то вроде метода get_current_context (которого я не смог найти в Django).Есть ли способ получить доступ к контексту извне в Django?
Есть ли что-то вроде этого или какой-либо другой механизм, который позволит мне иметь доступную ценность в любом месте контекста запроса?
TIA!
ОБНОВЛЕНИЕ: Мое исследование только придумало одно жизнеспособное решение - местные жители (некоторые утверждают, что это нежизнеспособно, но есть довольно активные дискуссии об этом, с плюсами и минусами, и похоже, что большинство людей думает, что вы должны быть в состоянии использовать его в Django, если вы это ответственно ответите).
Возможно, но помните, что вы можете иметь несколько контекстов для каждого запроса и несколько потоков (= несколько запросов), работающих параллельно, что может привести к сотням активных контекстов в любой момент времени, и как бы он знал, какой контекст вернуться? – Aya
Я не уверен, что понимаю ваш вопрос. Я говорю о возможности доступа к чему-то вроде сеанса из любого места в коде (без необходимости передавать переменную сеанса). –
Ну, по «контексту» я предположил, что вы имели в виду объект 'django.template.Context' или его подкласс, который вы позже использовали для визуализации' django.template.Template'. Если это так, для каждого запроса может быть несколько объектов Context, если вы выполняете несколько объектов Template. если вы используете пользовательские теги шаблонов. Если вы используете один из встроенных в Django представлений типа «TemplateView», то большая часть этого процесса скрыта от вас. Это может помочь прояснить с помощью кода пример того, чего вы хотите достичь. – Aya