img 标签 src 变量 url 不工作

img tag src variable url not working

所以我在 Django 中有我的 views.py,它将对象列表渲染到我的 html 模板。一切正常。现在,对象有一些关联的对象 ID。我将 'static/images/' 目录中的图像命名为与对象 ID 相同的名称。

因此图像 1.jpg 将对应对象 ID = 1 的对象,2.jpg 对象 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。

我试过使用以下链接中给出的解决方案,但 none 对我有用。

链接 ->

Variable within filename in jinja2

Variable in Flask static files routing [url_for('static', filename='')]

任何帮助将不胜感激。

您可以使用 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">