Выражение True == 0 in [0] будет интерпретировано как (True == 0) and (0 in [0]).
Сначала Python выполнит операцию сравнения True == 0. Поскольку True не равно 0, выражение True == 0 вернет False.
Затем Python выполнит операцию проверки на вхождение 0 in [0]. Поскольку 0 находится в списке [0], выражение 0 in [0] вернет True.
Наконец, Python выполнит логическую операцию and между False и True. Поскольку оба операнда не равны True, результатом выражения будет False.
Итак, результат выражения True == 0 in [0] будет False.
Где угодно, как правило или в сессии или в куках.
Это неважно. Хоть каждый час проверять курс валюты. О чем действительно стоит задуматься на этом этапе, к примеру:
Допустим, у вас базовая цена на товар считается в долларах. К пример юнит стоит 10 долларов.
Это вы записываете в систему,
Далее в модели товара создаете функцию, типа
Куда передаете текущую валюту клиента.
Как вам удобнее, можно сделать этот функционал десятками способов, хоть без перезагрузки страницы, хоть с перезагрузкой.