簡體   English   中英

jinja2 if語句不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM