Jinja elif не работает, даже если условие истинно

Именно четвертый оператор elif вызывает у меня проблему. Я поменял местами третий оператор elif с четвертым, и каждый раз, когда четвертый находится на третьем месте, он работает.

{% block content%}

{% load static %}
<link rel="stylesheet" href="{% static 'css/home_page.css' %}">
<link rel="stylesheet" href="{% static 'css/home_w_d_cs.css' %}">


{% if first_hour_d == 'clear sky' and time_of_day == True %} <!-- day == True means day -->

    <div class="side-hour-icon">
        <img src="{% static 'images/sunny-black.png' %}" alt="" width="55" height="50">
    </div>


{% elif first_hour_d == 'clear sky' and time_of_day == False %} <!-- day == False means night -->
    <div class="side-hour-icon">
        <img src="{% static 'images/clear-night-black.png' %}" alt="" width="55" height="50">
    </div>

{% elif first_hour_d == 'overcast clouds' or 'broken clouds' %}
    <div class="side-hour-icon">
        <img src="{% static 'images/cloudy2.png' %}" alt="" width="55" height="50">
    </div>
    
{% elif first_hour_d == 'few clouds' or 'scattered clouds' %}
    <div class="side-hour-icon">
        <img src="{% static 'images/few-clouds-black.png' %}" alt="" width="55" height="50">
    </div>


{% endif %}

{% endblock %}

Я хочу иметь несколько операторов elif, может быть 10 или 12. Возможно ли это?

Вы не можете сделать:

{% elif first_hour_d == 'overcast clouds' or 'broken clouds' %}

потому что вторая строка всегда будет иметь значение True.

Вы должны сделать:

{% elif first_hour_d == 'overcast clouds' or first_hour_d == 'broken clouds' %}
Вернуться на верх