jinja2 if语句不起作用

2024-04-19 16:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个jinja2if语句,我在其中检查字典项是否等于id,但是它似乎永远无法正确地或根本没有对其求值。在

以下是我的if声明:

<select id="deviceTypes" class="inputBoxes" style="height: 25px;">
    {% for key, value in deviceTypes.iteritems() %}
        {% if deviceTypeID == key %}  --> deviceTypeID is defined but this block of code never runs (key is an integer value, it's the id of the option)
            <option value="{{key}}" selected>{{deviceTypeID}}</option>
        {% else %}
            <option value="{{key}}">{{value}}</option>
        {% endif %}
    {% endfor %}
</select>

Tags: ofthekeyid声明if字典is
2条回答

你能在支票上加上“不”吗?这将告诉您条件是否为false。在

{%if not deviceTypeID==key%}

答案是:

{% if not deviceTypeID == key %}
    <option value="{{key}}">{{value}}</option>
{% else %}   
    <option value="{{key}}" selected>{{deviceTypeID}}</option>
{% endif %}

很可能您的deviceTypeID是从请求中提取的,而仍然是一个字符串。确保它是一个整数:

{% if deviceTypeID|int == key %}

或者更好的方法是,当你从请求中得到它时,把它变成一个整数。许多web框架允许您在检索值时将其转换为整数;Flask允许您执行以下操作:

^{pr2}$

例如。在

相关问题 更多 >