如何獲取對象值

jinja2html

參考:http://docs.jinkan.org/docs/jinja2/templates.html#variables python



1 for 循環一個對象(字典) 列表 元組如何循環flask


{% for k,v in d.items %}app

    `k` `v`
ide

{%endfor%}函數


{% for key, value in my_dict.iteritems() %}
    <dt>{{ key|e }}</dt>
    <dd>{{ value|e }}</dd>{% endfor %}

元組和列表oop

{% for s in L %}spa

    `s`
orm

{%endfor %}xml



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中


參考:

http://www.cnblogs.com/ymy124/p/4417548.html



我喜歡用這種方法:

....

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 標籤、一段註釋或變 量表達式)的開始或結束放置一個減號( - ),能夠移除塊前或塊後的空白:

{% for item in seq -%}
    {{ item }}{%- endfor %}


提示

標籤和減號之間不能有空白。

有效的:

{%- if foo -%}...{% endif %}

無效的:

{% - if foo - %}...{% endif %}



7 set賦值和計算

參考:http://stackoverflow.com/questions/3482297/how-can-i-make-a-simple-counter-with-jinja2-templates

items = [
    ['foo', 'bar'],
    ['bax', 'quux', 'ketchup', 'mustard'],
    ['bacon', 'eggs'],
    ]print Template("""
{% set counter = 0 -%}
{% for group in items -%}
  {% for item in group -%}
    item={{ item }}, count={{ counter + loop.index0 }}
  {% endfor -%}
  {% set counter = counter + group|length %}
{% endfor -%}
""").render(items=items)



我經常使用: 若是表格分隔不一樣的顏色


{%- set num=1 -%}

        {% for item in data%}

            {%- set num=num+1 -%}

.........

....

相關文章
相關標籤/搜索