如何以及在何处定义自定义jinja2测试

时间:2015-04-10 17:43:11

标签: filter flask jinja2

我知道除了我之外,这对每个人都很明显。

但是我在哪里以及如何定义自定义jinja2测试?

我试着在烧瓶中指定:

import flask
import jinja2
from jinja2 import environment as env
from jinja2 import *

app = Flask(__name__)
app.config.from_object(__name__)
app = Flask(__name__)

# jinja2 filter
def isList(value):
  return isinstance(value, list)
env.tests['isList'] = isList

产生的错误是:

AttributeError: 'module' object has no attribute 'tests'

1 个答案:

答案 0 :(得分:4)

为Flask应用程序配置的Jinja2环境为app.jinja_env。如果您将代码中的最后一行更改为

app.jinja_env.tests['isList'] = isList

它应该正常工作。