Попытка отправить вычисленные значения для каждого отмеченного элемента в виде словаря из представлений в шаблон results.html, связанный с некоторыми js. Как я могу отправить этот словарь в шаблон HTML, а затем в JS?
Я думаю, что сложность может заключаться в том, что событие onclick происходит в currency.html и функции, вызываемой в script_currency.js, которая затем переходит к представлениям для вычисления, которое возвращается как results2 {} в другой шаблон: results.html. но для рендеринга это все еще в функции скрипта script_currency.js. Однако результаты {} также не попадают в файл results.html.
so curency.html -> script_currency.js -> views.py -> results.htmls -> script_currency.js -> таблица результатов.html.
Я поместил словарь в контекст, а затем вне контекста для рендеринга в views.py. Я попытался создать новый шаблон для отображения, так как я отправлял словарь обратно в тот же шаблон без обновления. Все еще нет радости.
views.py - (я получаю результаты2 {} обратно из функции calc ())
def substancesChecked(request):
request.POST.get('checkbox')
curArr = json.loads(request.POST['checkbox'])
user_results = countryCur.objects.filter(user=request.session['user'])
username = request.session['username']
results2 = calc(curArr,user_results, username)
print(results2)
context = {"username": username, "results2": results2}
return render(request, 'main_app/results.html', context=context)
results.html - новый шаблон
<script src="{% static "main_app/js/script_currency.js" %}"></script>
<title>Currency Analysis</title>
<script type="text/javascript">
var results2 = "{{ results2 }}";
console.log(results2);
</script>
script_currency.js
console.log(results2);
Я ожидаю: {GBR: "25", USD: "35,58"}
вместо этого я получаю переменную results2, не определенную, и ошибка находится в currency_script.js
Нет ошибки в results.html, потому что, хотя функция views.py возвращает его в results.html, я не уверен, что он читается, и поэтому, возможно, переменная не передается из results.html обратно в js сценарий