检查Flask中Jinja2内部的变量类型

我创建的模板文件包含以下内容:

{% if type({'a':1,'b':2}) is dict %}

print "Oh Yes!!"

{% else %}

print "Oh No!!!"

{% endif %}

然后Jinja2回应说:

TemplateAssertionError: no test named 'dict'

我对Jinja2和Flask完全陌生

回答:

你正在寻找mapping测试:

{% if {'a': 1, 'b': 2} is mapping %}

"Oh Yes!"

{% else %}

"Oh No!"

{% endif %}

Jinja 是不是Python的,因此你不必访问所有内建(typeprint不存在,例如,除非你将它们添加到背景下,在瓶,你这样做与context_processor装饰)。

你实际上根本不需要print。默认情况下,所有内容都会输出(除非你extends位于父模板的子模板中,在这种情况下,你可以做一些有趣的事情,例如NULL Master回退,因为仅输出具有主模板中可用名称的块)。

以上是 检查Flask中Jinja2内部的变量类型 的全部内容, 来源链接: utcz.com/qa/433654.html

回到顶部