Django-filter как стилизовать RangeFilter?

У меня проблема со стилизацией диапазона ввода. Я использую класс django_filters.RangeFilter для объявления моего фильтра: parent__length = django_filters.RangeFilter(label="Length") Выглядит это следующим образом

Я не хочу, чтобы эта длина вводилась в одной строке, разделенной знаком "-". Я использую bootstrap grid при отображении этих фильтров.

Заранее благодарю

Я только что столкнулся с этой же проблемой при попытке рендеринга RangeFilter с помощью django-crispy-forms и не нашел отличного решения. Я закончил тем, что изменил шаблон напрямую, создав свой собственный виджет, который расширяет django_filters.widgets.RangeWidget.

class MyRangeWidget(django_filters.widgets.RangeWidget):
    template_name = "my_range_widget.html"

Шаблон по умолчанию из django_filters/widgets/multiwidget.html выглядит следующим образом, и вы можете модифицировать его с любым html, который вы хотите.

{% for widget in widget.subwidgets %}{% include widget.template_name %}{% if forloop.first %}-{% endif %}{% endfor %}

Затем вы можете использовать его в своем фильтре следующим образом.

parent__length = django_filters.RangeFilter(label="Length", widget=MyRangeWidget)
Вернуться на верх