Django迭代模板中的静态文件

时间:2017-08-01 15:30:52

标签: python django django-templates

我是Django的新手,我正在努力解决这个问题:在我的模板中,我想迭代我视图中定义的数组,添加&#39; .png&#39;到每个值的末尾,所以我可以将它们用作我在迭代时创建的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时,其值仅为&#39; .png&#39;,没有iter值。

也许我无法在循环中使用with标记?如果是这样,我怎样才能连接我的路径,文件名和扩展名?

提前感谢

1 个答案:

答案 0 :(得分:2)

你过度复杂了。

所有static标记都将settings.STATIC_URL的值与文件名连接起来。你可以自己更容易地做到这一点:

  {% get_static_prefix as STATIC_URL %}

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