{{minMaxPrice.price__min}}-{{minMaxPrice.price__max}} [закрыто]
Изучаю Django и сейчас создаю фильтр цен. Когда min и max цена статична, все хорошо, когда меняю фильтр на динамический, ничего не работает.
Статический диапазон от 0 до 1000 рабочий:
filter.html
{% load static %}
<script type="text/javascript" src="{% static 'product-filter.js' %}"></script>
<h3 class="mb-4 border-bottom pb-1">Фильтры</h3>
<!-- Price Filter -->
<div class="card mb-4">
<h6 class="card-header">Цена</h6>
<div class="list-group list-group-flush">
<li class="list-group-item">
<input type="range" id="rangeInput" min={{minMaxPrice.price__min}} max={{minMaxPrice.price__max}} oninput="maxPrice.value=this.value" />
<p>{{minMaxPrice.price__min}}-{{minMaxPrice.price__max}}</p>
</li>
<li class="list-group-item">
Максимальная цена: <input type="number" onkeyup="rangeInput.value=this.value" id="maxPrice" min={{minMaxPrice.price__min}} max={{minMaxPrice.price__max}} />
</li>
</div>
</div>
<!-- Filter 1 -->
<div class="card mb-4">
<h6 class="card-header">Категории</h6>
<div class="list-group list-group-flush">
{% for cat in cats %}
<li class="list-group-item">
<input class="filter-checkbox" data-filter="category" value="{{cat.category__id}}" type="checkbox" />
{{cat.category__title}}
</li>
{% endfor %}
</div>
</div>
template_context.py
from .models import Product
from django.db.models import Min, Max
from django.db.models import FloatField
def get_filters(request):
cats = Product.objects.distinct().values('category__title', 'category__id')
minMaxPrice = Product.objects.aggregate(Min('price', output_field=FloatField()), Max('price', output_field=FloatField()))
data = {
'cats': cats,
'minMaxPrice': minMaxPrice,
}
return data
Он показывает фильтр от 0 до 1000 и показывает диапазон названий из моих цен.
Статический диапазон от 0 до 1000
Динамический диапазон не работает:
filter.html
{% load static %}
<script type="text/javascript" src="{% static 'product-filter.js' %}"></script>
<h3 class="mb-4 border-bottom pb-1">Фильтры</h3>
<!-- Price Filter -->
<div class="card mb-4">
<h6 class="card-header">Цена</h6>
<div class="list-group list-group-flush">
<li class="list-group-item">
<input type="range" id="rangeInput" min={{minMaxPrice.price__min}} max={{minMaxPrice.price__max}} oninput="maxPrice.value=this.value" />
<p>{{minMaxPrice.price__min}}-{{minMaxPrice.price__max}}</p>
</li>
<li class="list-group-item">
Максимальная цена: <input type="number" onkeyup="rangeInput.value=this.value" id="maxPrice" min={{minMaxPrice.price__min}} max={{minMaxPrice.price__max}} />
</li>
</div>
</div>
<!-- Filter 1 -->
<div class="card mb-4">
<h6 class="card-header">Категории</h6>
<div class="list-group list-group-flush">
{% for cat in cats %}
<li class="list-group-item">
<input class="filter-checkbox" data-filter="category" value="{{cat.category__id}}" type="checkbox" />
{{cat.category__title}}
</li>
{% endfor %}
</div>
</div>
Динамический фильтр показывает диапазон от 0 до 100 как проценты, но диапазон заголовков из моих цен все еще выглядит хорошо. Может ли кто-нибудь помочь мне и сказать, что я делаю неправильно?
Я пытался найти информацию о фильтрации цен, но код выглядит корректно.