{{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" />&nbsp;
                            {{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" />&nbsp;
                    {{cat.category__title}}
                </li>
                {% endfor %}
            </div>
        </div>

Динамический фильтр

Динамический фильтр показывает диапазон от 0 до 100 как проценты, но диапазон заголовков из моих цен все еще выглядит хорошо. Может ли кто-нибудь помочь мне и сказать, что я делаю неправильно?

Я пытался найти информацию о фильтрации цен, но код выглядит корректно.

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