模板可以將已經(jīng)寫好的html妄田、css萤衰、js展示在頁面霎俩,你只需要往里面填充要展示的內(nèi)容即可
導(dǎo)入:from flask import render_template
def index(): # 視圖函數(shù) return render_template('index.html') # 加載并渲染模板
現(xiàn)在模板的內(nèi)容是寫死的袭厂,這肯定滿足不了咱們,我們希望把后臺(tái)返回的內(nèi)容渲染在到模板上媳纬。Flass使用?Jinja2這個(gè)模板引擎來渲染模板双肤。
我們先把pycharm里的模板語言改成Jinja2
我們在后臺(tái)模擬一些數(shù)據(jù),返回給模板渲染钮惠,render_template函數(shù)第二個(gè)參數(shù)就是我們要返回的內(nèi)容
def index():? # 視圖函數(shù)
? ? ctx = {
? ? ? ? "name": '老王',
? ? ? ? "age": 12,
? ? ? ? "hobby": ["下棋", '電影'],
? ? ? ? "test": {"a": 1, "b": 2}
? ? }
? ? return render_template('index.html', **ctx)? # 加載并渲染模板
? ? # 下面這種也可以
? ? # return render_template('index.html', name='laowang', age=12, hobby=["下棋", '電影'], test={"a": 1, "b": 2})? # 加載并渲染模板
常用過濾器
過濾器支撐鏈?zhǔn)秸{(diào)用:
{{"hello world"|reverse|upper}}
語句塊操作:
{%filterupper%}'abc'{%endfilter%}
禁用轉(zhuǎn)義:{{ '<em>hello</em>' | safe }}
刪除標(biāo)簽:{{ '<em>hello</em>' | striptags }}
首字母大寫:{{ 'hello' | capitalize }}
所有值小寫:{{ 'HELLO' | lower }}
首字母大寫:{{ 'hello world' | title }}
字符串反轉(zhuǎn):{{ 'hello' | reverse }}
字符串截?cái)啵簕{ 'hello world' | truncate(5) }}
獲取列表長度:{{ [1,2,3,4,5,6] | length }}
列表求和:{{ [1,2,3,4,5,6] | sum }}
列表排序:{{ [6,2,3,1,5,4] | sort }}
自定義過濾器
# 自定義過濾器def handletime(time): return time.strftime('%Y-%m-%d %H:%M')app.jinja_env.filters['handletime'] = handletime # 注冊過濾器
自定義過濾器
{{ time|handletime }}