Во первых, сделай какую-нибудь валюту основной. Чтобы не парится с перерасчетами.
Во вторых, передавай в темплейт (через контекст) свои коэффициенты + базовую валюту.
В третьих, сделай изменения визуальными через JS.
Например, по клику на валюту изменяй цены:
var price = {{price}};
var usd_to_eur = {{coeff.usd_to_eur}};
var usd_to_btc = {{coeff.usd_to_btc}};
$('#eur_btn').on('click', function () {
var new_price = price * usd_to_eur;
$('#price').text(new_price);
});
...
В четвертых, если это форма, до добавь hidden input с ценой в USD.
Если хочешь проще - передавай в темплейте (в контексте) уже готовые цены и просто меняй по клику.
Теперь о сессиях и выборе валюты.
По клику на валюту (также) передавай ajax-запрос на выделенный урл и сохраняй в
сессии
Если что - будет выглядеть как-то так:
$('#eur_btn').on('click', function () {
$.ajax({
url : "/valutes/eur/",
type : "post",
data : $('#hidden-input-form').serialize()
});
});
...
Где #hidden-input-form форма, метода post, состоящая только из hidden input "valute". Крч, невидимая форма с твоими долларами и пр. Не забудь про csrf_token!