Flask 注冊(cè)過(guò)濾器

2021-08-10 17:33 更新

如果你要在 Jinja2 中注冊(cè)你自己的過(guò)濾器,你有兩種方法。你可以把它們手動(dòng)添加到 應(yīng)用的 jinja_env 或者使用 template_filter() 裝飾器。

下面兩個(gè)例子作用相同,都是反轉(zhuǎn)一個(gè)對(duì)象:

@app.template_filter('reverse')
def reverse_filter(s):
    return s[::-1]

def reverse_filter(s):
    return s[::-1]
app.jinja_env.filters['reverse'] = reverse_filter

在使用裝飾器的情況下,如果你想以函數(shù)名作為過(guò)濾器名,參數(shù)是可選的。注冊(cè)之后, 你可以在模板中像使用 Jinja2 內(nèi)置過(guò)濾器一樣使用你的過(guò)濾器,例如你在上下文中有 一個(gè)名為 mylist 的 Python 列表:

{% for x in mylist | reverse %}
{% endfor %}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)