Как корректно отправить форму через Ajax в Django, если товары выведены через цикл в шаблоне

Всем привет! Делаю интернет магазин на Django. В шаблоне товары выведены через цикл, есть форма для отправки товара в корзину. При отправке формы через Ajax отправляется только самый первый продукт из цикла. Как это исправить? menu.html

    '''
           <div class="form_q_w">
   <div class="form_cart_q_w"><p><form  class="ajaxForm" data-product_id="{{all.id}}" data-total_price="{{cart.get_total_price}}" action="{% url 'cart:cart_add' all.id %}" method="post">
        {% if all.category.name == 'Пицца' %}
        {{cart_product_form.quantity}} шт.
        <div  class="form_hidden" style="display: none;">{{cart_product_form.weight}}</div>
        {% csrf_token %}
        {% else %}
        {{ cart_product_form.quantity }} x {{ cart_product_form.weight }} г.
        {% csrf_token %}
        {% endif %}
            </div>
        <div class="btn_cart_form">
        <p><input class="btn btn-white btn-outline-white"  type="submit" onclick="" value="Добавить в корзину"></p>
                        </form></p>
                        </div>
    '''

ajax.js

    $(document).ready(function(){
var form = $('.ajaxForm');

form.on('submit', function(e){
    e.preventDefault();
    var product_id = form.data("product_id");
    var quantity = document.getElementById('id_quantity').value;
    var weight = document.getElementById('id_weight').value;
    var data = {};
    data.product_id = product_id;
    data.quantity = quantity;
    data.weight = weight;
    var url = $(this).attr('action');
    var csrf_token = $('.ajaxForm [name="csrfmiddlewaretoken"]').val();
    data["csrfmiddlewaretoken"] = csrf_token;

    $.ajax({
        url:url,
        type: 'POST',
        data: data,
        cache: false,
        success: function (data) {
            console.log(data.get_total_price);
            console.log(product_id);
            if (data.get_total_price){
                $('.cart').text('🛒 '+ data.get_total_price + ' ₽');
            }
            },
        error: function(){
            console.log("AJAX error")
        }
    })

  

Вам нужно сделать примерно так, что б при нажатии передавалось ид товара и уже потом все остальное onclick="buyProduct({{all.id}})"

сейчас код ищет первое значение

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