man*_*ski 4 python django templates
我知道这已被多次询问,但每个人都能找到的解决方案(以及文档)似乎对我不起作用......
试图删除第一个字符
代码是 {{ 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
Run Code Online (Sandbox Code Playgroud)
这应该工作:
{{ picture.picture_path.name|slice:"1:" }}
Run Code Online (Sandbox Code Playgroud)
您的第一次尝试不起作用的原因是picture.picture_path
代表FieldFile
对象而不是字符串.这是传递给slice
过滤器的内容.
该slice
过滤器无法静默如果提供一个无效的输入,并返回该供给原始值.只有在此之后,Django才会尝试使用对象的__str__
方法将原始值转换为字符串.
归档时间: |
|
查看次数: |
3479 次 |
最近记录: |