Django javascript перенаправление с использованием id

Мы пытаемся перенаправить на нашу страницу checkout.html, для перехода на которую требуется id в аргументах, но мы пытаемся перейти на нее с помощью Javascript.

Выход страницы store.html

{% for item in product %}
            <div class="col-md-3">
                <div class="card" style="width: 90%; margin: 5px 5px;">
                    <a href="Product/{{item.id}}"><img src="{{item.image.url}}" class="card-img-top"></a>
                        <div class="cart-footer text-center">
                            <button onclick="redirect()">Order</button>
                        </div>

                </div>

            </div>
    


        {% endfor %}

<script>
function redirect() {
  var url = "{% url 'Checkout' %}";
  var id = $(this).item('id');
  window.location.href = url + "/" + id;
}
</script>

Мы знаем, что можем просто использовать обычную кнопку, например

<button onclick="window.location.href='Checkout/{{item.id}}'">Order</button>

Вот как это было раньше, но мы пытаемся получить это через Javascript для будущего использования Как получить id конкретного объекта в javascript?

urls.py

    path('', views.Store, name= "Store"),
    path('Checkout/<id>', views.createlocation, name="Checkout"),
    path('Product/<id>', views.product_details, name="Product")
    

В вашем шаблоне :

.
.
{{ item|json_script:"item_obj" }}
<button onclick="redirect()">Order</button>
.
.

Затем в вашей JS-функции

function redirect() {
  var url = "{% url 'Checkout' %}";
  const item = JSON.parse(document.getElementById('item_obj').textContent);
  window.location.href = url + "/" + item[id];
}

Посмотрите этот пример из doc

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