Добавление переменной JavaScript в статический URL Django - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь добавить пользовательскую переменную Javascript в мой статический URL 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 голосов
/ 26 июня 2019

Ваша ошибка в том, что вы смешиваете " и ' при создании переменной 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";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...