Как добавить товар в корзину после входа пользователя в систему? #django

Я совсем новичок в Django и попытался создать простое веб-приложение для электронной коммерции. В моем коде, когда пользователь не зарегистрирован, товары легко добавляются в корзину и отображаются в веб-приложении, но когда тот же пользователь вошел в приложение и пытается добавить товар в корзину, он не отображается во фронтенде, но товар добавляется пользователю из бэкенда.

Я попробовал логику

if user.is_authenticated

но я не смог добиться успеха.

from carts.models import Cart, CartItem

def add_cart(request, product_id):
    
    product = Product.objects.get(id=product_id)
    try:
        
        cart = Cart.objects.get(cart_id=_cart_id(request))
    except Cart.DoesNotExist:
        cart = Cart.objects.create(
            cart_id = _cart_id(request)
        )
    cart.save()

    try:
        cart_item = CartItem.objects.get(product=product, cart=cart)
        cart_item.quantity += 1
        cart_item.save()
        
    except CartItem.DoesNotExist:
        cart_item = CartItem.objects.create(
            product = product,
            quantity = 1,
            cart = cart,
        )
        cart_item.save()    
    return redirect('cart')

Это код Django, добавляющий товары в корзину до того, как пользователь войдет в систему.

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