Django / 如何评估括号表达式内的 Django 变量?

Django / How to evaluate a django variable inside a bracket expression?

在我的 html 文件中,我需要为 js 文件定义一个变量。

<script>
 var gltf_home = "{% static '/3d/ {{ scene.GltfFileToLoad }} ' %}";
</script>

输出为:

/static/3d/%7B%7B%20scene.GltfFileToLoad%20%7D%7D

而不是

/static/3d/00-world.glb

还有这个选择

var gltf_home = "{% static '/3d/' {{ scene.GltfFileToLoad }} %}";

给予

/static/3d/

正确的做法是什么?

您可以使用 |add template filter [Django-doc]:

var gltf_home = "{% static '/3d/'<strong>|add:scene.GltfFileToLoad</strong> %}";

但我建议不要这样做:在视图中执行逻辑,并使用|json_script template filter [Django-doc],这将在JSON blob,从而防止转义等