Использование вызова Ajax для отправки критериев сортировки из шаблона в представление Django
Я хочу отправить критерий сортировки из шаблона Django в связанное представление и обновить шаблон без перезагрузки страницы. Понимаю, что Ajax вызов - это то, что нужно, но как мне это реализовать?
store.html
{% extends 'ecomsite/main.html' %}
{% load static %}
{% block content %}
<select class="form-control" id="sort">
<option value="default" selected="selected">Default</option>
<option value="price-low">Price(lowest first)</option>
<option value="product-name">Product Name</option>
</select>
<br>
<div class="row">
{% for product in products %}
<div class="col-lg-4">
<img class="thumbail" src="{{product.imageURL}}">
<div class="box-element-product">
<h6><strong>{{product.name}}</strong></h6>
<hr>
<button data-product="{{product.id}}" data-action="add" class="btn btn-outline-primary add-btn update-cart">Add to Cart</button>
<a href="{% url 'detail' product.id %}" class="btn btn-outline-info">View</a>
<h5 style="display: inline-block; float: right"><strong>€{{product.price|floatformat:2}}</strong></h5>
</div>
<br>
</div>
{% endfor %}
</div>
{% endblock %}
views.py
def store(request):
data = cartData(request)
cartItems = data['cartItems']
products = Product.objects.all()
context = {'products':products, 'cartItems':cartItems}
return render(request, 'ecomsite/store.html', context)
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('',views.store,name='store'),
path('cart/',views.cart,name='cart'),
path('checkout/',views.checkout,name='checkout'),
path('update_item/',views.updateItem,name='update_item'),
path('process_order/',views.processOrder,name='process_order'),
path('getting_started/',views.HowtoView.as_view(),name='howto'),
path('myorders/',views.order_list,name='list'),
path('signup/',views.Signup.as_view(),name='signup'),
path('thankyou/',views.thank_you,name='thank_you'),
path('products/<int:id>/',views.product_detail,name='detail')
]