Flask,从复选框中获取值并将结果传递给另一个模板

时间:2016-11-28 20:52:51

标签: python json python-2.7 if-statement flask

我正在使用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才能使其正常工作。

1 个答案:

答案 0 :(得分:0)

Jinja2 int过滤器会在列表中失败,因为它会尝试将其转换为单个整数值。因此它将返回0。另外=是赋值运算符,==是比较符。试试这个来获得预期的结果:

{% if value|join("|") == "1|2|3|4|5"  %}
{% include 'pages/page1.html' %}
{% else %}
{% include 'pages/page2.html' %}
{% endif %}