Я хочу получать данные из JavaScript с помощью Django

В шаблоне есть фильтрация цен, написанная на JavaScript. Я хочу взять диапазон цен, заданный в этом фильтре с помощью dajngo и написать функцию фильтрации. Я не смог, потому что не знаю JavaScript. Как мне быть? Итак, я хочу написать функцию django, которая принимает заданные начальное и конечное значения и сортирует товары соответствующим образом.

main.js

  // PRICE SLIDER
 var slider = document.getElementById('price-slider');
 if (slider) {
   noUiSlider.create(slider, {
     start: [1, 100],
     connect: true,
     tooltips: [true, true],
     format: {
       to: function(value) {
         return value.toFixed(2) + '₼';
       },
       from: function(value) {
         return value
       }
     },
     range: {
       'min': 1,
       'max': 100
     }
   });
 }

enter image description here

Я не знаком с noUiSlider, но вам нужно получить значения from и to в Django - вы можете сделать это либо путем отправки формы при нажатии FILTER, либо путем отправки AJAX запроса. Я предполагаю, что вы просто отправите форму в стандартном режиме отправки страницы, поскольку вы не знакомы с JS (и, следовательно, с AJAX).

def your_view(request)
   filter_from = request.POST.get('slider_from')
   filter_to = request.POST.get('slider_to')

   YourModel.objects.filter(value__gte=filter_from, value__lte=filter_to)
   ...

Вам нужно будет заменить slider_from и slider_to на ключевые значения, которые посылаются входом слайдера в request.POST - это будут имена самих входов. Вы можете обернуть request.POST в оператор print, чтобы легко увидеть, что это такое. Это просто вопрос получения значений и передачи их в функцию filter() вашей модели.

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