我正在使用 Jinja2 创建这样的模板:
在这里,我需要调整条形图的高度,使最长的列达到 100% 的宽度。也就是说,在我的 jinja 模板中
<div class="power" style="width:{{ star_4_percent }}"></div>
Run Code Online (Sandbox Code Playgroud)
需要更改为
<div class="power" style="width:{{ star_4_percent/max([star_1, star_2, star_3, star4, star_5]) }}"></div>
Run Code Online (Sandbox Code Playgroud)
但是,max
正如我在其文档中看到的那样,Jinja 似乎不支持该功能。我该怎么办?
我max/min
在http://docs.ansible.com/ansible/playbooks_filters.html 中找到了实现,但这不是官方实现。
小智 6
使用Jnaja2 过滤器。您的代码将是:
<div class="power" style="width:{{ star_4_percent/([star_1, star_2, star_3, star4, star_5]|max) }}"></div>
Run Code Online (Sandbox Code Playgroud)
小智 2
定义计算宽度值的列表。
{% set width_list = [star_4_percent/star_1, star_4_percent/star_2, star_4_percent/star_3, star_4_percent/star4, star_4_percent/star_5] %}
然后应用排序过滤器并选择列表中的最后一个元素。
<div class="power" style="width:{{ width_list[-1] | sort }}"></div>
排序过滤器按升序排序,因此通过选择最后一个索引,您将获得最大值。