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)