jinja2
1 for 循環一個對象(字典) 清單 元組如何循環
{% for k,v in d.items %}
`k` `v`
{%endfor%}
元組和清單
{% for s in L %}
`s`
{%endfor %}
L是元組 L.0 可擷取第一個值 差別python中的L[0]
2 if 語句
{% if manufacturer == 'hp' %}
'惠普'
{% elif manufacturer =='huawei'%}
'華為'
{%else%}
'浪潮'
{%endif%}
3 設定變量
{% set active_page = 'statistics' %}
設定一個字典呢?
在html中定義一個 字典類型的變量對象
{%set business_map = {"xf_list":"新房清單頁", "xf_main": "新房樓盤首頁"%}
就可以引用了
{{business_map["xf_list"]}}
4 格式化輸出 數字 精确位數
{{"%0.1f"| format(dashboard_ibox.get("online-number") *100 /dashboard_ibox.get("user-number"))
5 過濾
過濾器變量可以通過 過濾器 修改。過濾器與變量用管道符号( | )分割,并且也 可以用圓括号傳遞可選參數。多個過濾器可以鍊式調用,前一個過濾器的輸出會被作為 後一個過濾器的輸入。
例如 {{ name|striptags|title }} 會移除 name 中的所有 HTML 标簽并且改寫 為标題樣式的大小寫格式。過濾器接受帶圓括号的參數,如同函數調用。這個例子會 把一個清單用逗号連接配接起來: {{ list|join(', ') }} 。
5.1 内置
{{(med_threshold[0]*1000)|int}}-{{(med_threshold[1]*1000)|int}}
自定義過濾器結合flask中
參考:
<a href="http://www.cnblogs.com/ymy124/p/4417548.html" target="_blank">http://www.cnblogs.com/ymy124/p/4417548.html</a>
我喜歡用這種方法:
....
from lib import filters
.....
def configure_template_filters(app):
for name in dir(filters):
if callable(getattr(filters, name)):
app.add_template_filter(getattr(filters, name))
6 去掉空格符
此外,你也可以手動剝離模闆中的空白。當你在塊(比如一個 for 标簽、一段注釋或變 量表達式)的開始或結束放置一個減号( - ),可以移除塊前或塊後的空白:
提示
标簽和減号之間不能有空白。
有效的:
無效的:
7 set指派和計算
參考:http://stackoverflow.com/questions/3482297/how-can-i-make-a-simple-counter-with-jinja2-templates
我常用: 如果表格分隔不同的顔色
{%- set num=1 -%}
{% for item in data%}
{%- set num=num+1 -%}
.........
本文轉自殘劍部落格51CTO部落格,原文連結http://blog.51cto.com/cuidehua/1764825如需轉載請自行聯系原作者
cuizhiliang