正如标题所说,我想使用views.py中的列表到javascript文件。我读了这个主题,但在我的情况下,它不起作用:link
我的views.py:
...
arr = ['first', 'second', 'third']
return render(request, "something.html",{"array": arr})
...
something.html:
...
<script>
array_js = eval("{{ array|escapejs }}");
</script>
<script src="{% whatever.js %}"></script>
...
我在whatever.js文件中使用array_js。它工作正常,但我正在使用eval函数。我不想使用它,但我不知道如何在没有eval函数的情况下使其工作。
我是初学者,所以请耐心等待。谢谢
由于数组被认为是有效的JSON,因此您只需使用JSON.parse
:
array_js = JSON.parse('{{ array|escapejs }}')
但一定要在视图上将其设置为JSON:
import json
...
return render(request, "something.html", {"array": json.dumps(arr)})