【问题标题】:Remove first character from string Django template从字符串 Django 模板中删除第一个字符
【发布时间】:2016-06-24 04:32:16
【问题描述】:

我知道这个问题已被多次询问,但每个人都能找到的解决方案(和文档)似乎对我不起作用...

试图删除第一个字符

代码是{{ 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:" }}会发生什么?
  • 呸很清楚。谢谢。

标签: python django templates


【解决方案1】:

这应该可行:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    相关资源
    最近更新 更多