img标签src变量网址无效

时间:2016-07-27 19:36:01

标签: html django jinja2

所以我在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='')]

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用get_static_prefixdocumentation):

{% load static %}
<img class="card-image" id="card-image" data-card-id="{{result.id}}" src="{% get_static_prefix %}images/{{ result.id}}.jpg">