Запрос не достиг моего представления Django

Это веб-проект Django, В моей панели навигации у меня есть выпадающий список, который содержит кнопки для изучения продуктов в зависимости от их категории, вот код выпадающего списка сниппета в главном шаблоне:

<li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            Product Categories
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
            <button data-category = "cloths" class="product-category dropdown-item btn btn-light">Cloths</button>
            <button data-category = "sport" class="product-category dropdown-item btn btn-light">Sport</button>
            <button data-category = "household items" class="product-category dropdown-item btn btn-light">Household items</button>
          </div>
        </li>

и я использовал токен csrf для почтовых запросов, и вот сниппет javascript:

var productCategories = document.getElementsByClassName("product-category")
for ( i = 0 ; i < productCategories.length ; i ++ )
{
    productCategories[i].addEventListener('click', function(){
        var category = this.dataset.category
        console.log(category)
        exploringCategory(category)
    })
}
function exploringCategory(category)
{
    var url = 'category_exploring/'
    fetch(url,{
        method:'POST',
        headers:{
            'Content-Type' : 'application/json',
            'X-CSRFToken': csrftoken,
        },
        body:JSON.stringify({'category' : category})
    })
}

и вот вид:

def category_exploring(request):
    data = json.loads(request.body)
    category = data['category']
    print('*')
    print(category)
    user = request.user
    products = Product.objects.filter(category=category)
    order, created = Order.objects.get_or_create(customer = user, complete = False)
    cartItems = order.get_total_order_cnt
    context = {'products' : products, 'cartItems': cartItems}
    return render(request, 'store/store.html', context)

Проблема в том, что при нажатии на кнопки ничего не происходит, что мне делать?

Я вижу, что вы пытаетесь отобразить шаблон в функции category_exploring(), так почему бы просто не создать тег a, указывающий на этот url. Таким образом, не потребуется ни js, ни post-запросы...

<a href="{% url 'category_exploring' 'cloths' %}" data-category = "cloths" class="product-category dropdown-item btn btn-light">Cloths</a>
<a href="{% url 'category_exploring' 'sport' %}" data-category = "sport" class="product-category dropdown-item btn btn-light">Sport</a>
<a href="{% url 'category_exploring' 'household-items' %}" data-category = "household items" class="product-category dropdown-item btn btn-light">Household items</a>

просто обновите функцию category_exploring(), чтобы она принимала category_slug и выполняла всю фильтрацию с помощью этой переменной...

def category_exploring(request, category_slug):
    pass

и url

path("category_exploring/<category_slug>/list", category_exploring, name='category_exploring')
Вернуться на верх