在 javascript 文件中使用的模板标签中列出
List in template tag used in javascript file
正如标题所说,我想使用从 views.py 到 javascript 文件的列表。
我阅读了这个主题,但在我的情况下它不起作用:
我的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)})
正如标题所说,我想使用从 views.py 到 javascript 文件的列表。
我阅读了这个主题,但在我的情况下它不起作用:
我的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)})