从字符串Django模板中删除第一个字符

时间:2016-06-24 04:32:16

标签: 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

1 个答案:

答案 0 :(得分:7)

这应该有效:

{{ picture.picture_path.name|slice:"1:" }}

您的第一次尝试不起作用的原因是picture.picture_path代表FieldFile对象而不是字符串。这是传递给slice过滤器的内容。

如果提供了无效的输入,slice过滤器将无提示失败,并返回提供的原始值。只有在此之后,Django才会尝试使用对象的__str__方法将原始值转换为字符串。