最小值神社
Minimum value Jinja
我有一个带有 table 的 Jinja 模板,每行有 5 列。第1至4列是数字的可变字符串表示(浮点小数),第5列使用以下代码显示这4列的最小值;
{{ ['1', '2', '3', '4'] | min }}
这工作正常,只要所有 4 列都被填充。一旦其中一列为空,则不会返回任何内容。
{{ ['1', '2', '3', ''] | min }}
有办法解决这个问题吗?
注意:原来的问题提到了一个整数列表 [1, 2, 3 ,4]
但在 pretty printing 之后,我意识到它们实际上是整数的字符串表示。
因为你的 pprint
showed you that you do have string representation of integers — '1'
— and not integers — 1
— in your variables, what you can, now, do is to reject
空字符串。
为了格外小心,我还抛出了一个 map
of the trim
过滤器,所以,如果你有一个空字符串——例如只有空格——那么,这种情况也将被掩盖。
所以,给定:
{{ ['1', '2', '', '4', ' '] | map('trim') | reject('eq','') | min }}
这给出了预期的结果:'1'
如果您确实有整数,则可以 select 仅使用 select
filter and the number
test.
列表中的数值
给定:
-
{{ [1, 2, None, 4] | select('number') | min }}
或
-
{{ [1, 2, '', 4] | select('number') | min }}
正如您所期望的那样,它们都会产生 1
。
我有一个带有 table 的 Jinja 模板,每行有 5 列。第1至4列是数字的可变字符串表示(浮点小数),第5列使用以下代码显示这4列的最小值;
{{ ['1', '2', '3', '4'] | min }}
这工作正常,只要所有 4 列都被填充。一旦其中一列为空,则不会返回任何内容。
{{ ['1', '2', '3', ''] | min }}
有办法解决这个问题吗?
注意:原来的问题提到了一个整数列表 [1, 2, 3 ,4]
但在 pretty printing 之后,我意识到它们实际上是整数的字符串表示。
因为你的 pprint
showed you that you do have string representation of integers — '1'
— and not integers — 1
— in your variables, what you can, now, do is to reject
空字符串。
为了格外小心,我还抛出了一个 map
of the trim
过滤器,所以,如果你有一个空字符串——例如只有空格——那么,这种情况也将被掩盖。
所以,给定:
{{ ['1', '2', '', '4', ' '] | map('trim') | reject('eq','') | min }}
这给出了预期的结果:'1'
如果您确实有整数,则可以 select 仅使用 select
filter and the number
test.
给定:
-
{{ [1, 2, None, 4] | select('number') | min }}
或
-
{{ [1, 2, '', 4] | select('number') | min }}
正如您所期望的那样,它们都会产生 1
。