Передать через ajax id объекта
В html цикл for выводит объекты product, при нажатии на кнопку должен передаваться в ajax product.id.
<div class="main-block" id="main-block">
{% for product in slots %}
<div class="block-product-main">
<a class="link-product" href="{% url 'product' product.id %}">
<div class="block-product-title_image">
{% thumbnail product.image_title "2100x1500" crop="center" upscale=True as im %}
<img class="block-product-image" src="{{ im.url }}">
{% endthumbnail %}
</div>
<p class="block-product-price">{{product.price}}</p>
<p class="block-product-name">{{product.name | truncatechars:80}}</p>
</a>
<button id="in_basket" class="block-product-in_basket-button"><p class="block-product-in_basket-text">В корзину</p></button>
</div>
{% endfor %}
ajax:
<script>
$(document).click('#in_basket', function(e){;
e.preventDefault();
$.ajax({
type:'POST',
url: "{% url 'add_basket' product.id %}"
})
})
</script>
urls.py:
path('add_basket/<int:product_id>/', views.add_product_basket, name="add_basket"),
views.py:
def add_product_basket(request, product_id):
user = request.user
product = get_object_or_404(Product, id=product_id)
basket_check = Basket.objects.filter(user=user, product=product).count()
if basket_check == 0:
Basket.objects.create(product=product, user=user, pub_date=datetime.now)
return HttpResponse("Добавлено")
по итогу получаю ошибку: Reverse for 'add_basket' with arguments '('',)' not found. 1 pattern(s) tried: ['add_basket/(?P<product_id>[0-9]+)/\Z']