所以我在Django中有我的views.py,它将对象列表呈现给我的html模板。一切都很好。现在,对象具有一些与之关联的对象ID。我已将图像命名为静态/图像/'目录与对象ID相同。
因此,图像1.jpg将对应于具有对象id = 1,2的对象,对象id = 2的对象等等。
现在我想在我的html中加载img标签中的图像,但img标签的src URL将取决于对象ID。
以下是我的html模板:
{% for result in results %}
<li class="card" id="card">
<tr>
<td>
<div class="card-image-container" id="card-image-container">
<img class="card-image" id="card-image" data-card-id="{{result.id}}" src="{% static 'images/{{ result.id}}.jpg' %}">
</div>
</td>
<td>
<div class="card-info-container" id="card-info-container">
<p> {{ result.card_name }} </p>
</div>
</td>
</tr>
</li>
{% endfor %}
以上操作不起作用,因为html无法解析{{result.id}}。 如果我硬编码url的值,请说:
src="{% static 'images/1.jpg' %}"
然后上面成功加载了所有li元素的1.jpg,但我想要的是根据{{result.id}}值形成的url。
我已尝试使用以下链接中提供的解决方案,但没有一个适合我。
链接 - &gt; Reference template variable within Jinja expression
Variable within filename in jinja2
Variable in Flask static files routing [url_for('static', filename='')]
任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用get_static_prefix
(documentation):
{% load static %}
<img class="card-image" id="card-image" data-card-id="{{result.id}}" src="{% get_static_prefix %}images/{{ result.id}}.jpg">