根据用户选择的选项 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
函数完成的事情,当用户更改值时,您需要使用 ajax
的 GET
请求,然后您可以调用基于用户选项的函数和 return 对用户的有效响应,称为“链式下拉列表”我发现这篇很棒的文章可能会对您有所帮助 How to Implement Dependent/Chained Dropdown List with 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
函数完成的事情,当用户更改值时,您需要使用 ajax
的 GET
请求,然后您可以调用基于用户选项的函数和 return 对用户的有效响应,称为“链式下拉列表”我发现这篇很棒的文章可能会对您有所帮助 How to Implement Dependent/Chained Dropdown List with Django