Как увеличить количество товара в корзине в Django?
Мои представления добавления в корзину. Привет всем, я совсем новичок в Django и я пытался создать простое веб-приложение электронной коммерции. Я пытался создать логику, которая увеличивает товар, который доступен в корзине, но я не знаю, почему товар в корзине не работает. Может быть, есть ошибка в логике, может кто-нибудь помочь.
def add_cart(request, product_id):
current_user = request.user
#Getting the product id
product = Product.objects.get(id=product_id)
#User is authenticated or not
if current_user.is_authenticated:
if request.method == 'POST':
for item in request.POST:
key = item
value = request.POST[key]
is_cart_item_exists = CartItem.objects.filter(product=product, user=current_user).exists()
if is_cart_item_exists:
cart_item = CartItem.objects.filter(product=product, user=current_user)
id = []
for item in cart_item:
id.append(item.id)
else:
cart_item = CartItem.objects.create(
product = product,
quantity = 1,
user = current_user,
)
cart_item.save()
return redirect('cart')
#User is not authenticated
else:
if request.method == 'POST':
for item in request.POST:
key = item
value = request.POST[key]
try:
#Get the cart using cart id
cart = Cart.objects.get(cart_id=_cart_id(request))
except Cart.DoesNotExist:
cart = Cart.objects.create(
cart_id = _cart_id(request)
)
cart.save()
is_cart_item_exists = CartItem.objects.filter(product=product, cart=cart).exists()
if is_cart_item_exists:
cart_item = CartItem.objects.filter(product=product, cart=cart)
id = []
for item in cart_item:
id.append(item.id)
else:
item = CartItem.objects.create(product=product, quantity=1, cart=cart)
#create new cart item
item.save()
else:
cart_item = CartItem.objects.create(
product = product,
quantity = 1,
cart = cart,
)
cart_item.save()
return redirect('cart')
Моя кнопка добавления
<td>
<div class="input-group mb-3" style="max-width: 120px;">
<div class="input-group-prepend">
<a href="{% url 'remove_cart' cart_item.product.id cart_item.id %}" class="btn btn-outline-primary js-btn-minus" type="button">−</a>
</div>
<input type="text" class="form-control text-center" value="{{ cart_item.quantity }}" placeholder=""
aria-label="Example text with button addon" aria-describedby="button-addon1">
<div class="input-group-append">
<a href="{% url 'add_cart' cart_item.product.id%}" class="btn btn-outline-primary js-btn-plus" type="button">+</a>
</div>
</div>
</td>