Как добавить товар в корзину после входа пользователя в систему? #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, добавляющий товары в корзину до того, как пользователь войдет в систему.