在 Jinja2 中每 3 个字符向字符串添加空格

Add whitespace to string every 3 characters in Jinja2

我有一个 YouTube 观看次数来源,我想每 3 个字符分隔一次。

例子: 我的来源是1897584,我希望它是:1 897 584; 1200,我希望它是:1 200 ... 234989、234989…… 123、123…… 等等...

是否可以仅使用 jinja2 将字符串每 3 个字符拆分一次?

提前干杯。

这是可行的。您必须在 python 文件中创建一个 custom filter - 一个 python 函数。这将完成这项工作:

def number_format(nr):
    list_nr = [i for i in reversed(nr)]
    list_nr_three = ["".join(list_nr[i:i+3]) for i in range(0, len(list_nr), 3)]
    str_nr = " ".join(list_nr_three)
    return str_nr[::-1]

然后add your custom filter到你的jinja环境:

environment.filters['number_format'] = number_format

您可以像这样在模板文件中使用它:

{{ '1897584'|number_format }}