Django Шаблоны суммируют цены элементов корзины
Внутри шаблонов DJango, на HTML странице, у меня есть следующие строки кода в body.
{% for cart_data in cart_items|slice:"0:"%}
<div class="Cart-Items pad ">
<div class="image-box">
<img src={{cart_data.img_url}} style="height:120px;"}} />
</div>
<div class="about">
<h1 class="title">{{cart_data.name}}</h1>
<h3 class="product_id">{{cart_data.retailer_sku}}</h3>
<div class="sku">
<div class="color">{{cart_data.color}} ({{cart_data.size}})</div>
</div>
</div>
<div class="prices">
<div class="amount">$ {{cart_data.price}}</div>
</div>
</div>
{% endfor %}
Этот код извлекает элементы корзины и отображает их на странице.
Теперь я хочу просуммировать все процессы и показать итог после этого цикла. Как это сделать?
Здесь невозможно напрямую вычислить сумму цен, но, вы можете сделать это с помощью представления следующим образом
***** views.py *****
def ShowCart(request):
usr = request.user
product_data = Cart.objects.filter(user=usr)
cart_count = Cart.objects.filter(user=usr).count()
categories = CategoryModel.objects.all()
amount = 0
shipping_amt = 40
final_amt = 0
data = Cart.objects.filter(user=usr)
for i in data:
prod_amt = ((i.product.price)*(i.quantity))
amount += prod_amt
final_amt = amount+shipping_amt
context = {'product_data': product_data, 'cart_count': cart_count,
'prod_amt': prod_amt, 'amount': amount, 'final_amt': final_amt,
'shipping_amt': shipping_amt,'categories':categories}
**** cart.html ****
{% for cart_data in cart_items|slice:"0:"%}
<div class="Cart-Items pad ">
<div class="image-box">
<img src={{cart_data.img_url}} style="height:120px;"}} />
</div>
<div class="about">
<h1 class="title">{{cart_data.name}}</h1>
<h3 class="product_id">{{cart_data.retailer_sku}}</h3>
<div class="sku">
<div class="color">{{cart_data.color}} ({{cart_data.size}})</div>
</div>
</div>
<div class="prices">
<div class="amount">$ {{cart_data.price}}</div>
</div>
</div>
{% endfor %}
<div class="col-4 p-2 border">
<div class="h3 p-2">The Total Amount of </div>
<table class="table table-hover">
<tbody>
<tr>
<td>Amount</td>
<td class="text-right">₹ {{amount}}</td>
</tr>
<tr>
<td>Shipping</td>
<td class="text-right">₹ {{shipping_amt}}</td>
</tr>
<tr>
<td><strong>Total</strong>(Including VAT)</td>
<td class="text-right"><strong>₹ {{final_amt}}</strong></td>
</tr>
</tbody>
</table>
<a class="btn btn-block btn-primary" href="{% url 'checkout' %}">Checkout</a>
</div>