天天看點

如何擷取對象值

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

繼續閱讀