首页 > 解决方案 > Django模板引擎的静态模板标签

问题描述

我有以下代码:

<img src="{% static 'images/{{i.sideid.sidepic}}' %}"/>

但这不会加载图片...

但是,如果我{{i.sideid.sidepic}}将图片名称更改为“republic.png”,它仍然有效。所以,是的,{{i.sideid.sidepic}}实际上是完全相同的名称(“republic.png”),因为我在 django 视图中打印并在我的 cmd 中显示它,完全相同的名称“republic.png”。

我想必须有一种特定的方式在 jinja {% %} 中添加 {{i.sideid.sidepic}} 。

标签: django

解决方案


您应该能够使用add模板过滤器连接字符串:

{% with 'images/'|add:i.sideid.sidepic as image %}
  {% static image %}
{% endwith %}

注意 紧随其后的变量as可以是任何你想要的:

{% with 'images/'|add:i.sideid.sidepic as sidepic %}
  {% static sidepic %}
{% endwith %}

您尝试做的事情与模板标签不太static匹配,因为它需要一个字符串或一个变量。

希望有帮助!


推荐阅读