【发布时间】:2015-04-18 17:53:03
【问题描述】:
here 的问题似乎和我的很相似;但是,我尝试了那里的建议,但在我的情况下它不起作用,所以也许我的问题毕竟不同。
在我的 html 文件中(在 Javascript 部分的 <script></script> 中),我有:
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 变量。它们在完全不同的时间执行。
-
@Yuji'Tomita'Tomita,你建议我该怎么做?
-
执行此操作会得到什么:{% static 'updateMap/'|add:all_file_names[0] %}
-
@joelgoldstick,我得到
expected %}错误,如果我创建一个变量:var test = 'something'; var snd = new Audio("{% static 'updateMap/'|add:test %}");我得到一个variableDoesNotExist错误
标签: django django-templates django-staticfiles