如何在 html 中放置一个 if,以便 'object.star' 的值同时等于 1 和 2



我尝试了这种方法(在两个值之间使用'and'或'and'),但'and'仅适用于第一个值('four')只有这样,我才能通过为两者设置两个单独的"if"来解决问题,这不是正确的方法

这是我的代码:

{% for object in object_list %}
**{% if object.star == "four" or "five" %}**
<div class="col mb-5">
<div class="card h-100">
<!-- Product image-->
<img class="card-img-top">{{object.thumbnail_tag}}
<!-- Product details-->
<div class="card-body p-4">
<div class="text-center">
<!-- Product name-->
<a href="{% url 'detail' object.slug %}"><h5 class="fw-bolder">{{object.name}}</h5></a>
<!-- Product reviews-->
<div class="d-flex justify-content-center small text-warning mb-2">
{% if object.star == "four" %}
<div class="bi-star-fill"></div>
<div class="bi-star-fill"></div>
<div class="bi-star-fill"></div>
<div class="bi-star-fill"></div>
{% elif object.star == "five" %}
<div class="bi-star-fill"></div>
<div class="bi-star-fill"></div>
<div class="bi-star-fill"></div>
<div class="bi-star-fill"></div>
<div class="bi-star-fill"></div>
{% endif %}
</div>
<!-- Product price-->
{% if object.newprice == none %}
{{object.currency}}{{object.price}}
{% else %}
<span class="text-muted text-decoration-line-through">{{object.currency}}{{object.price}}</span>
<span style="color: #ffc107;">{{object.newprice}}</span>
{% endif %}
</div>
</div>
<!-- Product actions-->
<div class="card-footer p-4 pt-0 border-top-0 bg-transparent">
<div class="text-center"><a class="btn btn-outline-dark mt-auto" href="#">Add to cart</a></div>
</div>
</div>
</div>
{% endif %}
{% endfor %}

object.star == 'four' or 'five'不像你想的那样。

首先考虑object.star == 'four',即TrueFalse。如果False,那么它将考虑five(这是正确的)。

你需要明确地做2个测试:

object.star == 'four' or 'object.star == 'five'

最新更新