尝试将每个检查项目的计算值作为字典从视图发送到链接到某些js的results.html模板。如何将该字典发送到html模板,然后发送到js?
我认为可能的复杂之处在于onclick事件发生在currency.html上,并且在script_currency.js中调用的函数随后进入视图进行计算,并以result2 {}的形式返回到另一个模板:results.html但是要呈现这些内容,仍保留在script_currency.js点击功能中。但是results {}也无法进入results.html。
so curency.html-> script_currency.js-> views.py-> results.htmls-> script_currency.js-> results.html上的表。
我将字典放在上下文中,然后放在上下文之外,以在views.py中呈现。我尝试创建一个新模板以使其呈现,因为我将字典发送回同一模板而不刷新。仍然没有喜悦。
views.py-(我从calc()函数获得了results2 {})
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”}
相反,我得到的是result2变量,未定义,并且错误在currency_script.js中
results.html中没有错误,因为即使views.py函数将其返回到result.html,我也不确定是否正在读取它,因此也许该变量未从results.html传递回js。脚本