使用变量作为图像路径时,Django 静态图像不显示

问题描述 投票:0回答:1

我正在尝试在 Django 模板中加载并显示静态图像。我有一个名为 post 的字典,其中包含图像值,例如“mountain.jpg”。我查了一下,字典里的数据是正确的。

但是,当我尝试使用 post.image 动态设置图像路径时,图像不会显示。如果我对 URL 进行硬编码,图像就会正确显示。

这是我在模板中的图像标签

   // not working
   <img src="{% static "blog/images/"|add:post.image %}" alt="Mountain" />

   // working 
   <img src="{% static "blog/images/mountain.jpg" %}" alt="Mountain" />   
django django-views django-template-filters
1个回答
0
投票

连接静态路径与动态图像名称的正确语法。将模板代码更改为:

<img src="{% static 'blog/images/' %}{{ post.image }}" alt="Mountain" />

或者如果

post.image
是 Django ImageField 或 FileField,您应该使用:

<img src="{{ post.image.url }}" alt="Mountain" />
© www.soinside.com 2019 - 2024. All rights reserved.