Не полноценно отрабатывает контекстный процессор

Есть контекстный процессор который выводит кол-во и общую сумму товаров в корзине. Сумму он выводит ,кол-во товара нет. Делал вот по этому гайду https://pocoz.gitbooks.io/django-v-primerah/content/glava-7-sozdanie-internet-magazina/sozdanie-korzini/sozdanie-obrabotchika-konteksta-dlya-tekuschei-korzini/kontekstnie-protsessori.html
Код процессора

from .cart import Cart

def cart(request):
    return {'cart': Cart(request)}

cart.py

rom decimal import Decimal
from django.conf import settings
from main.models import VideoCard


class Cart(object):

    def __init__(self, request):
        """
        Инициализируем корзину
        """
        self.session = request.session
        cart = self.session.get(settings.CART_SESSION_ID)
        if not cart:
            # save an empty cart in the session
            cart = self.session[settings.CART_SESSION_ID] = {}
        self.cart = cart

    def add(self, product, quantity=1, update_quantity=False):
        """
        Добавить продукт в корзину или обновить его количество.
        """
        product_id = str(product.id)
        if product_id not in self.cart:
            self.cart[product_id] = {'quantity': 0,
                                    'price': str(product.price)}
        if update_quantity:
            self.cart[product_id]['quantity'] = quantity
        else:
            self.cart[product_id]['quantity'] += quantity
        self.save()

    def save(self):
        # Обновление сессии cart
        self.session[settings.CART_SESSION_ID] = self.cart
        # Отметить сеанс как "измененный", чтобы убедиться, что он сохранен
        self.session.modified = True

    def remove(self, product):
        """
        Удаление товара из корзины.
        """
        product_id = str(product.id)
        if product_id in self.cart:
            del self.cart[product_id]
            self.save()
    

    def get_total_price(self):
            """
            Подсчет стоимости товаров в корзине.
            """
            return sum(Decimal(item['price']) * item['quantity'] for item in
                    self.cart.values())
        
    def clear(self):
            # удаление корзины из сессии
            del self.session[settings.CART_SESSION_ID]
            self.session.modified = True    
    
    def __iter__(self):
        """
        Перебор элементов в корзине и получение продуктов из базы данных.
        """
        product_ids = self.cart.keys()
        # получение объектов product и добавление их в корзину
        products = VideoCard.objects.filter(id__in=product_ids)
        for product in products:
            self.cart[str(product.id)]['product'] = product

        for item in self.cart.values():
            item['price'] = Decimal(item['price'])
            item['total_price'] = item['price'] * item['quantity']
            yield item

        def __len__(self):
            """
            Подсчет всех товаров в корзине.
            """
            return sum(item['quantity'] for item in self.cart.values())

Где он вызывается (base.html)

      <div class="cart">
   {% with total_items=cart|length %}
       {% if cart > 0 %}
           Your cart:
           <a href="{% url "cart:cart_detail" %}">
               {{ total_items }} item{{ total_items|pluralize }},
               ${{ cart.get_total_price }}
           </a>
       {% else %}
           Your cart is empty.
       {% endif %}
   {% endwith %}
</div>

так же видно что в сессии есть данные введите сюда описание изображения

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