Add a style in css depending on the value of the field with django

I’m trying to style my line of code:

<td class="{% if inven < 10 %}color-green-primary{% else %}color-red-primary{% endif %}">{{inven.quantityInventory}}</span></td>

It should change color depending on the value that is presented.
The bad thing is that it always shows it to me in red (in else). what am I doing wrong?


                             {% for inven in inventory %}
                                   <td class="{% if inven < 10 %}color-green-primary{% else %}color-red-primary{% endif %}">{{inven.quantityInventory}}</span></td>
                                      <div class="badge bg-soft-danger font-size-12">{{inven.status}}</div>
                                   <td><a href="{% url 'inventory:inventory_detail'}">Detail</a></td>
                                   <td><a href="{% url 'inventory:edit_inventory'}">Edit</a></td>
                                   <td><a href="{% url 'inventory:eliminar_inventory'}" class="text-danger" >Delete</a></td>
                                {% endfor %}

def list_inventory(request):

    if request.method == 'POST':
        todate = request.POST.get('todate')
        searchresult = Inventory.objects.filter(fecha_registro__range=(fromdate, todate))
        return render(request,'inventory/inventory-list.html',{'inventory':searchresult})

        displaydata = Inventory.objects.all()
    return render(request, 'inventory/inventory-list.html', {'inventory': displaydata})

>Solution :

You should be comparing against inven.quantityInventory not just inven. It does not make sense to compare a model instance with an int, compare against an int attribute

<td class="{% if inven.quantityInventory < 10 %}color-green-primary{% else %}color-red-primary{% endif %}">{{ inven.quantityInventory }}</span></td>

Leave a Reply