You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django字典键值传入HTML模板后无法加载对应静态图片如何解决

问题原因

你当前的写法错误原因是Django的{% static %}模板标签内部不支持直接嵌套{{ }}变量输出语法,两种语法不能嵌套使用。

解决方案

方案1(最简洁):拆分静态路径与变量拼接

直接先输出静态文件夹前缀路径,再直接拼接变量和后缀即可,修改HTML模板代码为:

<div class="row">
     <img src="{% static 'wea_app/icons/' %}{{ mainresult.icons }}.png" alt="天气图标">
<div>

原理:{% static 'wea_app/icons/' %}会先输出静态资源目录下wea_app/icons/对应的完整访问路径,后续直接拼接变量值和.png后缀即可得到完整的图标访问地址。

方案2:预先拼接完整路径传入static标签

如果你需要把完整路径作为参数传入static标签,可通过模板过滤器add拼接路径后传入:

<div class="row">
    {% with 'wea_app/icons/'|add:mainresult.icons|add:'.png' as icon_path %}
    <img src="{% static icon_path %}" alt="天气图标">
    {% endwith %}
<div>

两种方案均可正常实现图标加载,任选其一即可。

内容的提问来源于stack exchange,提问作者18106111 HICET - STUDENT ECE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 23:00:03