jinja2中的if语句从html传递变量时

时间:2019-02-24 18:12:05

标签: python if-statement post flask jinja2

当我将变量从post传递到模板时,我想用if语句检查它,如果它是“ {true”,那么问题是if语句在 Jinja 中不起作用>,我找不到原因。

http://127.0.0.1:5000/?flag=true%0A&user=xaris%0A

Jinja代码:

    {% set flagt = request.args.get('flag')   %}
    {% set sign = true  %}
    {% if flagt is sameas sign  %}
    <div>blah blah blah blah</div>
    {% else %}
    <div>{{ flagit }}</div>
    {% endif %}* 

1 个答案:

答案 0 :(得分:0)

扩展@snakechamberb的注释:您遇到的问题是请求参数以字符串形式输入。因此,当比较请求参数值时,不能将它们的布尔值true / false进行比较,因此必须将它们与字符串true和字符串false进行比较。例如,

{% set flagt = request.args.get('flag')   %}
{% set sign = true  %}
{% if flagt.lower() in ('true', '1') %}
<div>blah blah blah blah</div>
{% else %}
<div>{{ flagt }}</div>
{% endif %}*