2015-07-12 60 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。 –

相關問題