如何以及在何处定义自定义 jinja2 测试
How and where to define a custom jinja2 test
我知道这对除了我以外的每个人来说都是显而易见的。
但是我在哪里以及如何定义自定义 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'
为 Flask 应用程序配置的 Jinja2 环境是 app.jinja_env
。如果您将代码中的最后一行更改为
app.jinja_env.tests['isList'] = isList
它应该可以正常工作。
我知道这对除了我以外的每个人来说都是显而易见的。
但是我在哪里以及如何定义自定义 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'
为 Flask 应用程序配置的 Jinja2 环境是 app.jinja_env
。如果您将代码中的最后一行更改为
app.jinja_env.tests['isList'] = isList
它应该可以正常工作。