Django - рендеринг панели django-filter(filterset) с хрустящими формами
Я совсем новичок и буду благодарен за помощь.
Я создал панель фильтров (с filterset из модуля django-filter), но я не могу отобразить ее с помощью crispy forms.
Совместимы ли crispy-формы с django-filter? Я пробовал, и crispy хорошо работает со всеми моими другими формами и modelforms, но кажется, что django-filter отказывается рендерить в bootstrap.
HTML
<div class="row">
<div class="col">
<div class="card card-body">
<form method="get">
****{{ myFilter.form}}****
*/tried also {{ myFilter.form|crispy}}
{{ myFilter.form.variablefieldhere|as_crispy_field}}**
<button class="btn btn-primary" type="submit">
Search</button>
</form>
</div>
</div>
</div>
Filter.py
import django_filters
from .models import log
class logFilter(django_filters.FilterSet):
class Meta:
model = log
fields = {
'varfliedhere': ['icontains'],
'varfliedhere': ['icontains'],
'varfliedhere': ['icontains'],
'Boolean varfliedhere': ['exact'],
}
Нужно ли мне попытаться установить FormHelper в формах? Но в таком случае, как мне его отобразить в crispy?
В остальных формах я изобразил их по одному следующим образом:
{{ myFilter.form.variablefieldhere|as_crispy_field}}
и работает, но не могу понять, как решить эту проблему.
Заранее спасибо!
Ваши требования мне не ясны. Но я предполагаю, что вы хотите, чтобы все поля были в одном ряду, и вы используете шаблоны bootstrap для crispyform.
<form method="GET">
<div class="form-row">
<div class="form-group col-md-2 mb-0 ">
{{myFilter.form.variablefieldhere1|as_crispy_field}}
</div>
<div class="form-group col-md-2 mb-0 ">
{{myFilter.form.variablefieldhere2|as_crispy_field}}
</div>
<div class="form-group col-md-2 mb-0 ">
{{myFilter.form.variablefieldhere3|as_crispy_field}}
</div>
<div class="form-group col-md-2 mb-0 ">
{{myFilter.form.variablefieldhere4|as_crispy_field}}
</div>
<div class=" col-md-2 mb-0 ">
<button class="btn btn-primary btn-sm" type="submit">search</button>
</div>
</div>
</form>