将JavaScript变量添加到Django静态网址

时间:2019-06-26 08:59:54

标签: javascript django

我正在尝试将自定义Javascript变量添加到我的Django静态网址中。不幸的是,下面的代码失败了。

$(document).ready(function() {
  var randomNum = Math.floor((Math.random() * 12) + 1)
  var text = "{% static '5LW/images/slider/" + randomNum + ".1.jpg' %}"
  document.getElementById("headerImage").style.backgroundImage = url(text)
});

我收到错误:

-

**Error during template rendering**

Could not parse the remainder: ''5LW/images/slider/"' from ''5LW/images/slider/"'

var text = "{% static '5LW/images/slider/" + randomNum + ".1.jpg %}"

-

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您的错误是因为在创建"变量时混合使用'text

但是,这永远行不通。 {% static ".." %}标签由服务器执行,而您的JavaScript由浏览器执行(服务器完成处理后很长时间)。

您可能会使用

var text = "{{ STATIC_URL }}/5LW/images/slider/" + randomNum + ".1.jpg";

(您可能必须将视图中的settings.STATIC_URL手动显示到模板中。)

..或者也许:

var text = "{% static "5LW/images/slider/" %}" + randomNum + ".1.jpg";