Загрузка нескольких изображений с помощью Javascript из бэкэнда Django - PullRequest
1 голос
/ 07 октября 2019

Я работаю над инструментом визуализации на основе d3, который позволяет пользователям выбирать пути на изображениях. Это прекрасно работало до тех пор, пока я не попытался позволить пользователю изменить фоновое изображение простым выпадающим списком.

Проблема заключалась в том, что javascript не может загружать файлы с диска с разрешения Cross-Origin. Поэтому решение, которое я выбрал, состояло в том, чтобы создать бэкэнд. Я выбираю Django.

Это код JavaScript, который манипулирует изображением:

window.LOADED_FILE = "PUT PATH HERE";

У меня есть рабочее раскрывающееся меню, в котором пользователь может выбрать изображение, и я получаю путь к файлу. ,После этого я попытался загрузить изображение следующим образом:

window.SVG.append("image")
        .attr("width", window.WIDTH + "px")
        .attr("height", window.HEIGHT + "px")
        .attr("xlink:href", window.LOADED_FILE);     

Это не работает вообще, и я получаю только изображение-заполнитель для запроса 404. Итак, попытался сделать следующее:

  1. Прежде всего, это решение, которое я нашел здесь . Это прекрасно работает, но я не хочу, и я могу жестко закодировать каждое возможное изображение в HTML-файл, просто чтобы выбрать правильную переменную, когда пользователь хочет выбрать другое изображение позже, когда пользователь хочет. Поэтому мне нужно более динамичное решение.

  2. После этого я попробовал после . Но когда я делаю console.log(DJANGO_STATIC_URL), я получаю пустой журнал. В файле settings.py содержится следующий статический URL-адрес: STATIC_URL = '/static/'.

Итак, я хочу найти решение о том, как загружать изображения с помощью JavaScript без предварительного их жесткого кодирования вHTML-файлЯ подозреваю, что я что-то неправильно понял или проигнорировал что-то очевидное.

1 Ответ

1 голос
/ 08 октября 2019

{{ STATIC_URL }} только в контексте, если у вас есть "django.template.context_processors.static" в параметрах TEMPLATES context_processors в settings.py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...