我有一个包含两个字段的照片模型:
title = models.CharField()
path = models.CharField()
当我在管理面板中添加新照片时,路径等于/images/image_ex.jpg
这是我的视图文件:
def gallery(request):
photos = Photo.objects.all()
return render(request, 'gallery.html', {'photos': photos})
这是 gallery.html 中的标签:
{% loadstaticfiles %}
<img src="{%static '{{photo.path}}'%}"/>
问题是照片没有渲染,如果我查看页面的代码,src 等于这样的东西:
src="static/%7B%7B%20photo.path%20%7D%7D"
问题是什么?如何在 src 中使用模板变量?
附:静态文件夹中存在图像文件夹,图像也存在。我将静态目录添加到settings.py。另外,如果我将 src 更改为普通的,例如
<img src="{static 'images/image_ex.png'%}">
照片渲染正常。
你在这里通过'{{photo.path}}'
as a string to {% static ... %}
,因此它将简单地将静态 URL 根添加到该字符串之前。
如果您想使用content of photo.path
, 您可以使用:
<img src="{% static photo.path %}"/>
So {% static ... %}
接受变量作为参数,并获取变量的内容path
的属性photo
多变的。 (当然,考虑到变量已传递,或者是您生成的变量{% for ... %}
循环等
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)