Как работать с вложенными if else в шаблонах django?
Здесь, В этом проекте я создаю сайт электронной коммерции и использую Django. Итак, я хочу показать, что если нет товара категории Electric "Sorry, No Product is Available Right Now !!!" будет показано. где n - количество товаров, которые отправляются в этот шаблон из app views. Но я не получаю "Sorry, No Product is Available Right Now !!!", так как в моей базе данных нет товара категории Electric. Как это исправить? Где я ошибаюсь?
views.py
def electric(request):
product = Product.objects.all()
n = len(product)
params = {'product': product, 'range':range(1,n), 'n':n}
return render(request,'electric.html',params)
electric.html
{% if n is 0 %}
<div class="p-3 mb-1 bg-warning text-white text-center my-0">
<h1><b>Sorry, No Product is Available Right Now !!! </b></h1>
</div>
{% else %}
<div class="album py-2 bg-gradient">
<div class="container">
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
{% for i in product %}
{% if i.category == "Electric" %}
<div class="col">
<div class="card shadow-sm">
<img src="{{i.image}}" />
<div class="card-body">
<h4 class="card-title">{{ i.product_name}}</h4>
<h6 class="card-subtitle mb-2 text-muted">
Category: {{i.category}}
</h6>
<p class="card-text">{{i.description}}</p>
<div class="buy d-flex justify-content-between align-items-center">
<div class="price text-success">
<h5 class="mt-4">Price: {{i.price}} BDT</h5>
</div>
<a href="#" class="btn btn-danger mt-3"><i class="fas fa-shopping-cart"></i> Add to Cart</a>
</div>
</div>
</div>
</div>
{% endif %}
{% endfor %}
</div>
</div>
</div>
{% endif %}
views.py
def electric(request):
product = Product.objects.all()
return render(request,'electric.html',{'product': product})
electric.html
{% if product.count > 0 %}
-- your code --
{% else %}
<div class="p-3 mb-1 bg-warning text-white text-center my-0">
<h1><b>Sorry, No Product is Available Right Now !!! </b></h1>
</div>
{% endif %}
Обновите свой код, как указано выше. Он будет работать.