Загрузка изображения для цикла с помощью jinja2 / django - PullRequest
0 голосов
/ 25 июня 2018

Как мне динамически отображать изображения с использованием jinja2 и django на веб-странице.

В настоящее время я пытаюсь загрузить изображения в цикле for, например:

{% for img_path in imgs %}
   <img src="{% static "{{img_path|safe}}" %}" alt="Herb" id="plant-mascot" style="width: 100px"/>
{% endfor %}

Однако это нене работаетПуть к изображению (imgs) определенно правильный.Я также попытался загрузить то же изображение, не передавая его в качестве переменной, и он отображает его.

Я думаю, что мне чего-то не хватает в jinja и html, я предполагаю, что jinja передает текст img_filepath в html, а не объект или что-то еще?

Как мне сделать эту работу, я могуотображать произвольное количество изображений на веб-странице?

Переменная imgs представляет собой список, содержащий пути img, например:

['img/im1.jpg', 'img/im2.jpg',...]

Ожидаемый результат:

Веб-страница со всеми изображениями('im1.jpg', 'im2.jpg', ...) отображается на веб-странице

Фактический результат:

Пустая веб-страница

Ответы [ 2 ]

0 голосов
/ 25 июня 2018
{% for img_path in imgs %}
   <img src="{{img_path|static|safe}}" alt="Herb" id="plant-mascot" style="width: 100px"/>
{% endfor %}
0 голосов
/ 25 июня 2018

Ключевым моментом здесь является просмотр сгенерированного HTML-кода с помощью команды «Просмотр источника страницы» вашего браузера.Скорее всего, вы увидите, что синтаксис вашего шаблона Jinja неправильный:

  • Вложенные "{%" и "{{" (как заметил @JohnGorden).
  • Также "static"это функция в Jinja и может лучше выглядеть как" static ('url') ".

Что-то вроде этого (не проверено) для атрибута src:

src = "static (" {{img_path | safe}} ")"

Возможно, вы также не хотите использовать один и тот же атрибут "id" для всех изображений.

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