@Gugr
Студент ИТМО. Веб-разработчик.

Как передать static в JS файл (Django)?

Имеется код в JS:
$('.prof-button').mouseenter(function(){
        $('.prof-button').attr('src','/themes/choosevuz/images/main-menu-buttons-profs-active.png')
});
$('.prof-button').mouseleave(function(){
        $('.prof-button').attr('src','/themes/choosevuz/images/main-menu-buttons-profs.png')
});

Как вторым аргументом в attr() передать URL картинки?
Так как все картинки передаются через (в HTML файлах именно так)
{% static "расположение картинки в папке статики" %}

Но данный метод не работает в файле JS.
Каким образом все-таки передать Url картинки в JS?
  • Вопрос задан
  • 3029 просмотров
Решения вопроса 1
@Gugr Автор вопроса
Студент ИТМО. Веб-разработчик.
Вопрос решился банально просто:
вторым аргументом можно просто передать путь к файлу, без static.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Общий подход таков, что перед подключением js файла, который выводит картинку, Вы делаете вставку следующего хтмл
<script>
    var pathToImage = '{% static "расположение картинки в папке статики" %}';
</script>
<script src="some-main.js"></script>


В то время как some-main.js будет уже оперировать переменной pathToImage вместо статического пути.
Ответ написан
Комментировать
svfat
@svfat
☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
Самый простой способ - засунуть скрипт в html-шаблон Django и подгружать с помощью
{% extends ... %}
{% block % ...}{% endblock %}

Также можно загрузить через шаблон в JavaScript-переменную {{ STATIC_URL }} и использовать ее в других скриптах
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы