如何在HTML的img标签中使用Django变量?
Django模板中用变量生成static图片URL的正确写法
你之前的写法错误在于在{% static %}标签里直接嵌套了{{ x.id }}变量语法,Django模板标签和变量语法不能这样混用,{% static %}需要接收一个可解析的模板表达式,而非直接插入变量符号。
以下是几种可行的正确写法:
- 使用模板过滤器
add拼接路径:
<img src="{% static '/images/'|add:x.id|add:'.png' %}" alt="">
- 先用
{% with %}标签预拼接完整路径:
{% with img_path='/images/'|add:x.id|add:'.png' %} <img src="{% static img_path %}" alt=""> {% endwith %}
- 若使用Django 2.1+,可直接用字符串格式化:
<img src="{% static 'images/{}.png'.format(x.id) %}" alt="">
内容的提问来源于stack exchange,提问作者Sinay Elihay
相关产品推荐
相关产品推荐

