Django и javascript - как использовать значение раскрывающегося списка для доступа к изображению stati c, хранящемуся на сервере, с помощью тега stati c - PullRequest
1 голос
/ 25 февраля 2020
{% load static %}                                                         line 1
<html>                                                                    line 2
<head>                                                                    line 3
<meta charset="UTF-8">                                                    line 4
</head>
<body>
<select id="ddlViewBy">
<option value="Pranamasana.jpg">Pranamasana</option>
</select>
<img id='cat' crossorigin="anonymous" height = "620" width = "620"/>
<button onclick = "myfun()">button</button>
<script>
function myfun() {
var e = document.getElementById("ddlViewBy");
var strUser = e.options[e.selectedIndex].value;
document.getElementById("cat").src = "{% static 'Pranamasana.jpg' %}";        line 16  
}
</script>
</body>
</html>

Несмотря на то, что у меня есть выпадающий список, я жестко кодирую название изображения, к которому нужно получить доступ в строке 16. Я хочу знать, как можно использовать строку Struser, чтобы выбранное изображение пользователем может отображаться без жесткого кодирования.

Любая помощь будет оценена и спасибо заранее.

Я использую django, и это страница html в моем проекте

1 Ответ

2 голосов
/ 25 февраля 2020
Шаблон

Django выполняет ваш код раньше, чем javascript, поэтому вы не можете использовать добавление объединенной строки javascript. Поэтому лучше всего использовать {% get_static_prefix %}

var staticUrl = "{% get_static_prefix %}"
var strUsr = e.options[e.selectedIndex].value;
document.getElementById("cat").src = staticUrl + strUsr
...