我正在使用Weasyprint,在Flask Web App中显示一些jinja模板。 我有这个json。
value=["1","2","3","4"]
我想将'value'传递给if语句中的另一个jinja模板。
{% if (value|int =["1", "2", "3", "4"]) %}
{% include 'pages/page1.html' %}
{% else %}
{% include 'pages/page2.html' %}
{% endif %}
但这显示错误,
TemplateSyntaxError: expected token ')', got '='
我认为我必须将json转换为int才能使其正常工作。
答案 0 :(得分:0)
Jinja2 int
过滤器会在列表中失败,因为它会尝试将其转换为单个整数值。因此它将返回0
。另外=
是赋值运算符,==
是比较符。试试这个来获得预期的结果:
{% if value|join("|") == "1|2|3|4|5" %}
{% include 'pages/page1.html' %}
{% else %}
{% include 'pages/page2.html' %}
{% endif %}