在Django中截断文本但向后方向

Posted

技术标签:

【中文标题】在Django中截断文本但向后方向【英文标题】:Truncate Text But in Backward Direction in Django 【发布时间】:2016-03-18 23:29:28 【问题描述】:

我有myString = "Get the last nine characters of this text, starting with the last one.",我希望能够像使用 myString|truncatechars:9 获得前九个字符一样获得Django 模板中的最后九个字符。

知道如何完成这项工作吗?

【问题讨论】:

【参考方案1】:

您可以编写自己的过滤器。

@register.filter("truncate_chars")
def truncate_chars(value, max_length):
    if len(value) > max_length:
        #will return last characters if max_length<0
        truncd_val = value[max_length:]
        if not len(value) == max_length+1 and value[max_length+1] != " ":
            truncd_val = truncd_val[:truncd_val.rfind(" ")]
        return  truncd_val + "..."
    return value

然后

 myString|truncate_chars:-9 

Look at here.

【讨论】:

myString|truncatechars:9 表示我们要保留 9 个字符并删除所有其他字符。使用切片,我们可以删除 9 个字母并保留所有其他字母。 slice 和 truncatechars 有很大的区别。 @SavadKP 很抱歉被误解了。请查看修改后的版本。

以上是关于在Django中截断文本但向后方向的主要内容,如果未能解决你的问题,请参考以下文章

更改文本截断行为

我定义了一个损失函数,但向后出现错误,有人可以告诉我如何解决它

在字符串的 5 个字符之前截断 UILabel 文本

在 django 中截断 html 文本

Android获取相机位图的方向?并向后旋转-90度

在存在PDF iframe的文本选择之后,文本输入开始向后键入