我知道这个问题已经被问过多次了,但是每个人都能找到的解决方案(和文档)似乎对我不起作用...
尝试删除第一个字符
代码是 {{ picture.picture_path|slice:"1:" }}
但是它仍然像那样出现./DOF_mrD5T49.jpg
。试图获得领先点。我可能无法删除它,因为它是的“名称”picture_path
吗?
相关型号代码:
class Picture(models.Model):
picture_path = models.ImageField(blank=True)
def __str__(self):
return self.picture_path.name
这应该工作:
{{ picture.picture_path.name|slice:"1:" }}
您第一次尝试失败的原因是picture.picture_path
代表一个FieldFile
对象而不是字符串。这就是传递给slice
过滤器的内容。
该slice
过滤器无法静默如果提供一个无效的输入,并返回该供给原始值。只有在此之后,Django才会尝试使用对象的__str__
方法将该原始值转换为字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句