ValueError: invalid literal for int() with base 10: получение этой ошибки на функции удаления при нажатии на кнопку удаления
я создаю сайт электронной коммерции и в функциональности корзины, когда я пытаюсь удалить продукт из корзины, он выбрасывает ошибку, в то время как я использовал ту же логику при добавлении продукта в корзину, где я использую ту же строку кода для получения идентификатора продукта через интеграцию ajax для cart_add() view
product_id = int(request.POST.get('product_id'))
но в представлении cart_delete() выдает ошибку на этой строке invalid literal for int() with base 10:
удалите кнопку из шаблона:
<button type="button" data-index=""="{{product.id}}"
class="btn btn-danger btn-sm delete-button">
Delete
</button>enter code here
это ajax интеграция
<script>
$(document).on('click','.delete-button',function(e){
e.preventDefault();
$.ajax({
type:'POST',
url:'{% url "cart-delete" %}',
data:{
product_id: $(this).data('index'),
csrfmiddlewaretoken:"{{csrf_token}}",
action:'post'
},
success: function(json){
//console.log(json)
document.getElementById('cart-qty').textContent = json.qty
document.getElementById('total').textContent = json.total
},
error:function(xhr,errmsh,err){
}
});
})
</script>
ths is my views.py def cart_delete()
def cart_delete(request):
cart = Cart(request)
if request.POST.get('action') == 'post':
product_id = int(request.POST.get('product_id'))
cart.delete(product=product_id)
cart_quantity = cart.__len__()
cart_total = cart.get_total()
response = JsonResponse({'qty':cart_quantity,'total':cart_total})
return response
А это cart.py (для работы с сессиями) функция delete
def delete(self,product):
product_id = str(product)
if product_id in self.cart:
del self.cart[product_id]
self.session.modified = True
И urls.py
path('delete/',views.cart_delete,name='cart-delete'),