Как работать с вложенными 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 %}

Обновите свой код, как указано выше. Он будет работать.

Вернуться на верх