如何使用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'...)的网页
实际输出:
一个空页面
答案 0 :(得分:1)
此处的关键是使用浏览器的“查看页面源代码”命令查看生成的HTML。您可能会发现Jinja模板的语法不正确:
对于src属性,此操作(未测试)如下:
src =“ static(” {{img_path | safe}}“))”
您可能还不想对所有图像使用相同的“ id”属性。
答案 1 :(得分:1)
{% for img_path in imgs %}
<img src="{{img_path|static|safe}}" alt="Herb" id="plant-mascot" style="width: 100px"/>
{% endfor %}