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' %}