【发布时间】:2022-02-20 00:36:38
【问题描述】:
我有一个包含两个字段的照片模型:
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'%}">
照片正常渲染。
【问题讨论】:
-
这不应该是
FileField吗? -
至于网址,应该是
<img src="{%static photo.path %}"/>但我不相信这会起作用,因为您没有指定photo变量。 -
照片变量在代码中指定得更高:我有一个循环 {%for photo in photos %}。而且 {%static photo.path %} 不起作用
-
好吧,
{% static photo.path %}会给出一个静态 URL,但在这里使用FileField可能会更好。 -
嗯,我用过,但是我选择照片的时候,路径就是图片名。如何使路径成为 images/image_name.png
标签: python django django-templates