Flask模板的全局對(duì)象: 全局對(duì)象是指在所有的模板中都可以直接使用的對(duì)象,包括在模板中導(dǎo)入的模板.
內(nèi)置全局函數(shù)
- Jinja2內(nèi)置全局函數(shù)
1. range([start,]stop[,step]) -- 和python中的range()用法一樣
2. lipsum(n=5,html=True,min=20,max=100) -- 生成隨機(jī)文本,可以在測(cè)試時(shí)用來(lái)填充頁(yè)面,默認(rèn)生成5段HTML文本,每段包含20~100個(gè)單詞
3. dict(**items) -- 和python的dict()用法相同
- Flask在模板中內(nèi)置了兩個(gè)內(nèi)置函數(shù)
1. url_for() -- 用于反向解析,生成url
2. get_flashed_messages() -- 用于獲取flash消息
自定義全局函數(shù)
- 除了使用app.context_processor注冊(cè)模板上下文處理函數(shù)來(lái)傳入函數(shù),我們也可以使用app.template_global裝飾器直接將函數(shù)注冊(cè)為模板全局函數(shù).
@app.template_global(name) -- name 表示傳入給模板的函數(shù)名
def bar():
return "register a global variable of template"
也可以直接使用app.add_template_global(function, name)傳入函數(shù)對(duì)象和自定義名稱(chēng)注冊(cè)自定義模板函數(shù),