Проблема с рендерингом объектов на шаблоне django?
Я пытаюсь сделать фильтр на моем сайте электронной коммерции. Я могу фильтровать и выводить queryset на консоль, но я не могу отобразить его на templete. Он не выдает никаких ошибок, он просто не показывает элементы. views.py
def Products(request):
data = cartData(request)
cartItems = data['cartItems']
order = data['order']
items = data['items']
products = Product.objects.all()
gender = Gender.objects.all()
categories = Category.objects.all()
product_types = ProductType.objects.all()
try:
data = json.loads(request.body)
productTId = data['productTId']
productVId = data['productVId']
genderId = data['genderId']
genderId = get_object_or_404(Gender, id=genderId)
productVId = get_object_or_404(Category, id=productVId)
productTId = get_object_or_404(ProductType, id=productTId)
filtered_products = Product.objects.filter(typeP=productTId).filter(category=productVId).filter(Gender=genderId)
countFilter=filtered_products.count()
print(filtered_products)
print(countFilter)
except:
None
try:
context = {'countFilter':countFilter,'filtered_products':filtered_products,'gender':gender,'categories':categories,'product_types':product_types,'products':products, 'cartItems':cartItems, 'order':order, 'items':items}
except:
context = {'gender':gender,'categories':categories,'product_types':product_types,'products':products, 'cartItems':cartItems, 'order':order, 'items':items}
return render(request, 'product.html', context)
html
js получает данные для фильтрации
function Filter(productTId,productVId,genderId){
var gender = document.querySelector('.table__filter-btn--active')
console.log(gender)
var productV = document.querySelector('.table__filter-btn--active-1')
var productT = document.querySelector('.table__btn--active')
if (gender){
var genderId=gender.dataset.product
}else{
genderId=0
}
if (productT){
var productTId = productT.dataset.product
}else{
productTId=0
}
if (productV){
var productVId = productV.dataset.product
}else{
productVId=0
}
var url = '/products/'
fetch(url, {
method:'POST',
headers:{
'Content-Type':'application/json',
'X-CSRFToken':csrftoken,
},
body:JSON.stringify({'productTId':productTId, 'productVId':productVId,'genderId':genderId})
})
.then((data) => {
location.reload()
})
}
Функция выше работает, если эта кнопка нажата
<form class="search-form" action="">
<input class="product-search-form__input search-form__input input input--border" type="text" placeholder="Ocean Saw Palmetta...">
<button class="product-search-form__btn btn-hover search-form__btn btn-reset" type="submit" onclick="Filter()">SEARCH</button>
</form>
Может кто-нибудь знает в чем проблема. Надеюсь на вашу помощь:)