Django在模板中遍历静态文件

3

我刚接触Django,目前遇到了这个问题:在我的模板中,我想要循环遍历由视图定义的数组,在每个值的末尾加上“.png”,以便在迭代时将它们作为src值用于创建<img>标记。以下是我的代码:

<table>
    <tr>
      {% for iter in array %}
          {% with 'path/to/images/'|add:iter|add:'.png' as myImg %}
              <td><img src="{% static myImg %}" alt=""></td>
          {% endwith %}
      {% endfor %}
    </tr>
  </table>

当我打印myImg时,它的值只有“.png”,没有iter值。
也许我不能在循环中使用with标签?如果是这样,我该如何连接我的路径、文件名和扩展名?
提前感谢。
1个回答

7

你把事情搞得太复杂了。

static标签所做的只是将settings.STATIC_URL的值与文件名连接起来。你可以更容易地自己完成这个操作:

  {% get_static_prefix as STATIC_URL %}

  {% for iter in array %}
        <td><img src="{{ STATIC_URL }}{{ iter }}.png" alt=""></td>
  {% endfor %}

确实,这更简单了,我还不太了解标签的工作原理,需要阅读更多文档。非常感谢! - elachere

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接