根据用户选择的选项 django 动态更改值

Dynamically change values based on user selected option 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>
        <form method="post">
            <label>Choose Currency:</label>
            <input list="ex-currency">
            <datalist id="ex-currency">
            {% for k, v in currency %}
                <option value="{{ k }}"></option>
            {% endfor %}
            </datalist>
            {% csrf_token %}
            <button class="btn btn-outline-success btn-sm">Submit</button>
        </form>
        </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 函数完成的事情,当用户更改值时,您需要使用 ajaxGET 请求,然后您可以调用基于用户选项的函数和 return 对用户的有效响应,称为“链式下拉列表”我发现这篇很棒的文章可能会对您有所帮助 How to Implement Dependent/Chained Dropdown List with Django