W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Flask 上下文處理器自動(dòng)向模板的上下文中插入新變量。上下文處理器在模板 渲染之前運(yùn)行,并且可以在模板上下文中插入新值。上下文處理器是一個(gè)返回字典 的函數(shù),這個(gè)字典的鍵值最終將傳入應(yīng)用中所有模板的上下文:
@app.context_processor
def inject_user():
return dict(user=g.user)
上面的上下文處理器使得模板可以使用一個(gè)名為 user ,值為 g.user 的變量。 不過(guò)這個(gè)例子不是很有意思,因?yàn)?g 在模板中本來(lái)就是可用的,但它解釋 了上下文處理器是如何工作的。
變量不僅限于值,上下文處理器也可以使某個(gè)函數(shù)在模板中可用(由于 Python 允 許傳遞函數(shù)):
@app.context_processor
def utility_processor():
def format_price(amount, currency=u'€'):
return u'{0:.2f}{1}.format(amount, currency)
return dict(format_price=format_price)
上面的上下文處理器使得 format_price 函數(shù)在所有模板中可用:
{{ format_price(0.33) }}
你也可以構(gòu)建 format_price 為一個(gè)模板過(guò)濾器(見(jiàn) 注冊(cè)過(guò)濾器 ), 但這展示了上下文處理器傳遞函數(shù)的工作過(guò)程。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: