python - 如何在 <img src> 中添加 django 模板变量?

标签 python django django-templates

我有一个包含两个字段的照片模型:

title = models.CharField()
path = models.CharField()

当我在管理面板中添加新照片时,路径等于 /images/image_ex.jpg 这是我的 View 文件:

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}}' 作为字符串传递给 {% static ... %},因此它只会将静态 URL 根添加到该字符串前面。

如果你想使用photo.path内容,你可以使用:

<img src="{% static <b>photo.path</b> %}"/>

因此{% static ... %}接受变量作为参数,并将获取photopath属性的内容多变的。 (当然,考虑到该变量已传递,或者是您使用 {% for ... %} 循环生成的变量等。

关于python - 如何在 <img src> 中添加 django 模板变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52803129/

相关文章:

python - 读取 os.popen() 输出不会返回任何内容

python - 用于查询远程数据库的应用程序的 python gui 工具包的注意事项?

python - 为什么我不能将对字典值的直接引用传递给函数?

javascript - 获取 django 模板中对象的模型名称

html - 如何在模型 TextField 中使用 HTML 中的 Django 模板变量?

python - pyodbc.ProgrammingError : ('42000' , "[42000] [Microsoft][ODBC SQL Server 驱动程序][SQL Server]附近的语法不正确

python - 如何定期运行 Python 脚本以将数据导入 Django 应用程序?

django - 在 Django 中建模产品订单

django - 使用模板变量创建名为 URL 的 Django?

python - Django 模板不显示表数据