检查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的,因此你不必访问所有内建(type
与print
不存在,例如,除非你将它们添加到背景下,在瓶,你这样做与context_processor
装饰)。
你实际上根本不需要print
。默认情况下,所有内容都会输出(除非你extends
位于父模板的子模板中,在这种情况下,你可以做一些有趣的事情,例如NULL Master回退,因为仅输出具有主模板中可用名称的块)。
以上是 检查Flask中Jinja2内部的变量类型 的全部内容, 来源链接: utcz.com/qa/433654.html