如何从Jinja2(Flask)中的列表中获取max元素

时间:2017-07-05 04:43:13

标签: python flask jinja2

我使用Flask和Jinja2。现在,如果foo为负数,我需要将某个bar变量的值设置为零,否则保持不变。有几种方法,但我想做类似的事情:

foo = max(0, bar)

问题是我在Jinja2中找不到max过滤器。要解决此问题,我使用:

{% set foo = [0, request.args.get('bar')|int - 25]|sort|last %}

所以问题是:
1. Jinja2中是否有类似max的过滤器? 2.如果不是,那么我应该创建一个自定义的吗? 那我用过的方法呢?

1 个答案:

答案 0 :(得分:1)

  1. 可能不是。我在他们的文档中找不到它。

  2. Python已经有一个本地max()函数,返回列表的最大值。

  3. 我会建议一个简单的if语句。将foo设置为0,如果bar -25为正,则将foo设置为。也许这种方式更具可读性。