2015-07-12 137 views
0

我试图自动化一个手动任务,其中,每天,一位同事登录到各个系统,将数据块剪切/粘贴到电子邮件中,然后将其发送到一群人。我使用Jinja2作为模板引擎,Bootstrap使它看起来很漂亮。以下是迄今为止所做的工作:https://gist.github.com/alexwoolford/ac342289bb90c5dda524使用Jinja2/Bootstrap根据数据类型设置表格单元

某些列是百分比,一些是计数,一些是美元。对于百分比,我想将值乘以100,四舍五入至小数点后两位,并添加百分号(例如,0.34567将显示为34.57%)。对于计数,我想用逗号分隔数千个(例如,1234567将显示为1,234,567)。对于美元,我想添加一个美元符号,四舍五入到最接近的整数,逗号分隔数千(例如2345.67将显示为$ 2,346)。

理想情况下,我想在这样的模板类简单地添加到表格单元格:

<td class='percent'>{{ row.some_percent_val }}</td> 
<td class='count'>{{ row.some_count }}</td> 
<td class='dollar'>{{ row.some_dollar_value }}</td> 

我需要做的到的Jinja2模板来正确地格式化列?

回答

1

css是不会给你你想要的。您需要使用jinja过滤器系统。一些像格式这样的内置过滤器可能可以帮助您实现这一目标。但是你可能需要创建一些自定义的。例如,你可以这样做是为了得到一个不错的美元显示:

<td class='dollar'>{{ "${:,.2f}" | format (row.some_dollar_value)}}</td> 

,如果你愿意,你可以使用所有的内置的字符串变量Python方法:

{{ "${:,.2f}".format (row.some_dollar_value)}} 

文档创建您自己的自定义过滤器可以在这里找到:

http://jinja.pocoo.org/docs/dev/api/#custom-filters

+0

这是简单而美丽。非常感谢@RobertMoskal。 –

相关问题