Динамическое изменение значений на основе выбранной пользователем опции django
Я пытаюсь изменить значение на основе курса обмена, выбранного пользователем в теге <option>. Я не хочу сохранять результат формы в базе данных. Я просто хочу, чтобы он динамически изменялся каждый раз, когда пользователь меняет валюту.
Допустим, пользователь выбирает валюту из следующей формы с опциями в представлении:
VIEW
def view(request):
currency_dict = {'EUR': 0.9154994049253867, 'JPY': 123.86706948640484, 'BGN': 1.7905337361530713, 'CZK': 22.375720955781375}
cur = currency_dict.items()
deposit = 10000
context = {
'currency_dict': currency_dict,
'cur': cur,
'deposit': deposit,
}
return render(request, 'coinprices/my-dashboard.html', context)
HTML - ФОРМА
<div class="container">
<div>
<span>
<h1>My Dashboard</h1>
</span>
<span>
<label>Choose Currency:</label>
<input list="ex-currency">
<datalist id="ex-currency">
{% for k, v in cur %}
<option value="{{ k }}"></option>
{% endfor %}
</datalist>
</span>
</div>
</div>
Затем, основываясь на выборе пользователя, умножьте значение {{ deposit }} на currency_dict[user_selected_currency] и измените полужирный текст (см. ниже):
ЖЕЛАЕМЫЙ РЕЗУЛЬТАТ
<span>
<div><b>Total Investment {{ user_selected_currency }}</b></div>
<span class="text-xl">${{ deposit * currency_dict[user_selected_currency] }}</span>
</span>
Есть идеи, как этого можно достичь?
К сожалению, это невозможно сделать с помощью функции render Вам понадобится запрос GET с помощью ajax, когда пользователь меняет значение, а затем вы можете вызвать функцию, основанную на опции пользователя и вернуть правильный ответ пользователю Это называется "Chained Dropdown List" Я нашел эту удивительную статью, которая, возможно, поможет вам Как реализовать зависимый/цепочечный выпадающий список с помощью Django