在模板中显示来自dict的url的静态图像

时间:2016-12-24 02:52:53

标签: django

如果网址值来自字典,我在显示图片时遇到了一些问题。

如果我在下面这样做有效。

{% for key, values in images.images.items %}
    <div class="imageBox">
        <img src="{% static 'images/ka/1.jpg' %}" alt="My image" width=100% height=100%/>
    </div>
{% endfor %}

但是我想使用dict迭代中的url值。如下所示

{% for key, values in images.images.items %}
    <div class="imageBox">
        <img src="{% static '{{values}}' %}" alt="My image" width=100% height=100%/>
    </div>
{% endfor %}

{{values}} = 'images/ka/1.jpg'

但是,与前面的例子一样,{{values}}即使'images/ka/1.jpg'也是如此。如果我在浏览器中检查html,则显示src为/static/%7B%7B%20values%20%7D%7D。为什么会有所不同?

2 个答案:

答案 0 :(得分:2)

您可以使用get_static_prefix模板标记,如下所示:

<img src="{% get_static_prefix %}{{ values }}" alt="My image" width=100% height=100%/>

get_static_prefix使用STATIC_URL中指定的路径填充模板变量。

参考get_static_prefix

答案 1 :(得分:2)

您在{{ }}标记内不需要{% static %}。 试试这个:

{% for key, values in images.images.items %}
    <img src="{% static values %}">
{% endfor %}

这应该有用。