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

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

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中使用模板变量?
附言images文件夹存在于静态文件夹中,图像也存在。我将静态目录添加到settings.py。另外,如果我将src更改为正常的,例如

<img src="{static 'images/image_ex.png'%}">

照片正常渲染。

参考方案

您在这里将'{{photo.path}}'作为字符串传递给{% static ... %},因此它将简单地将静态URL根添加到此字符串之前。

如果要使用photo.path的内容,可以使用:

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

因此,{% static ... %}接受变量作为参数,并将采用path变量的photo属性的内容。 (当然,如果已传递变量,或者是使用{% for ... %}循环生成的变量,等等。

如何使用BeautifulSoup在<tr>中捕获特定的<td> - python

尝试从nyc Wiki页面中的高中列表中获取所有高中名称。我已经写了足够多的脚本,可以让我获取包含在高中,学业和入学条件列表的表的<tr>标记中的所有信息-但是我如何才能缩小到我认为的范围内在td[0]内休息(会弹出KeyError)-只是学校的名称?到目前为止我写的代码:from bs4 import BeautifulSoup from ur…

Python numpy数据指针地址无需更改即可更改 - python

编辑经过一些摆弄之后,到目前为止,我已经隔离了以下状态:一维数组在直接输入变量时提供两个不同的地址,而在使用print()时仅提供一个地址2D数组(或矩阵)在直接输入变量时提供三个不同的地址,在使用print()时提供两个地址3D数组在直接输入变量时提供两个不同的地址,而在使用print()时仅给出一个(显然与一维数组相同)像这样:>>> …

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…

Python ElementTree:在循环中替换元素 - python

我正在尝试创建一个脚本,该脚本循环创建一个xml文件,并为两个元素增加值。 (使用netaddr的IP地址,以及递增的tag / member元素,tag01-tag10)from netaddr import IPNetwork import xml.dom.minidom import lxml.etree as etree import xml.etr…

Python 3运算符>>打印到文件 - python

我有以下Python代码编写项目的依赖文件。它可以在Python 2.x上正常工作,但是在使用Python 3进行测试时会报告错误。depend = None if not nmake: depend = open(".depend", "a") dependmak = open(".depend.mak&#…