Jinja - 当值超过指定字段宽度时如何强制截断

Tho*_*ers 3 truncate jinja2

我从以下 ninja2 模板开始,但如果第二列的值 > 指定的宽度,它只会打印整个字符串,其余列右移。

{{ "%-7s"|format(tbl[3]) }}      {{ "%-12s"|format(tbl[5]) }}    {{ "%14s"|format(tbl[6]) }}
Run Code Online (Sandbox Code Playgroud)

我要解决的问题是当(且仅当)tbl[5] 值超过列宽时如何截断第二列。

有任何想法吗。我用谷歌搜索过,但找不到答案。

小智 10

您是否尝试过截断功能:

{{ "foo bar baz qux"|truncate(9,true,'') }}
Run Code Online (Sandbox Code Playgroud)

就像第一个参数是长度一样,第二个参数告诉您是否要精确截断长度(如果为真)或从完整单词截断。第三个是省略号,在本例中,我删除了默认值...,并添加了空白。

让我知道这是否有帮助。