[英]jinja2 if statement not working
我有一个jinja2 if
语句,我在其中检查字典项是否等于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>
您的deviceTypeID
很可能是从请求中获取的,并且仍然是字符串 。 确保它是整数:
{% if deviceTypeID|int == key %}
或更妙的是,从请求中获取时将其转换为整数。 许多Web框架允许您在检索值时将其转换为整数。 Flask让您可以:
deviceTypeID = request.form.get('deviceTypeID', type=int)
例如。
您可以尝试在支票上加上“不”吗? 这将告诉您条件是否为false
。
{%如果不是deviceTypeID ==键%}
答案:
{% if not deviceTypeID == key %}
<option value="{{key}}">{{value}}</option>
{% else %}
<option value="{{key}}" selected>{{deviceTypeID}}</option>
{% endif %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.