here这个问题似乎与我的非常相似;然而,我尝试了那里提出的建议,但在我的情况下它不起作用,或许我的问题毕竟是不同的。Django:静态标签内的变量
在我的HTML文件(在<script></script>
的JavaScript部分),我有:
var snd = new Audio("{% static 'updateMap/cual_es_su_nombre.mp3' %}");
snd.play();
,其播放MP3就好了;不过,我希望能够用一个变量替换文件名:cual_es_su_nombre.mp3
。我正在从服务器获取文件名。
所以,我做的第一件事是把文件名加载到一个Javascript数组:
var all_file_names = new Array();
{% for item in all_file_names_from_server %}
all_file_names.push("{{ item |safe }}");
{% endfor %}
然后,最终,我希望能够为例子做:
var snd = new Audio("{% static 'updateMap/'|add:all_file_names[0] %}");
snd.play();
但是,这是行不通的...
不能混合在Django模板变量的JavaScript变量。他们在完全不同的时间执行。 – 2015-02-17 22:01:34
@ Yuji'Tomita'Tomita,你应该怎么做? – 2015-02-17 22:05:40
当你这样做时,你会得到什么:{%static'updateMap /'| add:all_file_names [0]%} – 2015-02-17 22:14:44