Python 产品未正确添加到购物车

Python 产品未正确添加到购物车,python,django,Python,Django,我正在使用django制作一个商业网站 我使用session获取项目中的所有请求,但我面临一个问题。问题是,当我将一个产品添加到购物车时,它已成功添加,但每当我尝试同时添加另一个产品时,它会在购物车中显示0产品。我甚至不能添加数量,但当我删除第一个产品时,数量会自动添加到第二个产品中 非常令人困惑,因此我提供了截图 以下是我的视图.py: class Index(View): def get(self, request): cart = request.session

我正在使用django制作一个商业网站

我使用session获取项目中的所有请求,但我面临一个问题。问题是,当我将一个产品添加到购物车时,它已成功添加,但每当我尝试同时添加另一个产品时,它会在购物车中显示
0
产品。我甚至不能添加数量,但当我删除第一个产品时,数量会自动添加到第二个产品中

非常令人困惑,因此我提供了截图

以下是我的视图.py:

class Index(View):

    def get(self, request):
        cart = request.session.get('cart')

        if not cart:
            request.session['cart'] = {}



        products = None
        cats = Category.get_categories()
        brands = Brand.get_brands()

        categoryID = request.GET.get('category')
        brandID = request.GET.get('brand')

        if categoryID:
            products = Product.get_products_by_category(categoryID)
        else:
            products = Product.get_all_products()

        if brandID:
            proucts = Product.get_brands_by_products(brandID)
        else:
            products = Product.get_all_products()

        args = {
        'products':products,
        'cats': cats,
        'brands': brands
        }
        return render(request, 'Home/index.html', args)


    def post(self, request):
        product = request.POST.get('product')
        print(product)
        cart = request.session.get('cart')
        remove = request.POST.get('remove')

        if cart:
            quantity = cart.get(product)
            if quantity:
                if remove:
                    if quantity <= 1:
                        cart.pop(product)
                    else:
                        cart[product] = quantity-1
                else:
                    cart[product] = quantity+1
            else:
                cart[product] = 1
        else:
            cart = {}
            cart[product] = 1
        request.session['cart'] = cart
        print('cart', request.session['cart'])
        return redirect('Home')
from django import template
from django.http import HttpResponse

register = template.Library()

@register.filter(name='in_cart')
def in_cart(product, cart):
    keys = cart.keys()
    for id in keys:
        if int(id) == product.id:
            return True
    return False


@register.filter(name='cart_quantity')
def cart_quantity(product, cart):
    keys = cart.keys()

    for id in keys:
        if int(id) == product.id:
            return cart.get(id)
        else:
            return 0;

@register.filter(name='cart_total')
def cart_total(product, cart):
    return product.price * cart_quantity(product, cart)


@register.filter(name='get_total_cart_total')
def get_total_cart_total(products, cart):
    total = 0
    for p in products:
        total += cart_total(p, cart)
    return total