我创建了一个过滤器栏(使用django-filter模块中的filterset ),但我无法使用简洁的表单呈现它。
crispy-forms与django-filter兼容吗?我试过了,Crispy Forms与我的所有其他表单和模型表单都工作得很好,但看起来django-filter拒绝在crispy-bootstrap中呈现。
HTML:
{% extends 'base/base1.html' %}
{% load static %}
{% block content %}
{% load crispy_forms_tags %}
<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}}这是可行的,但我不明白如何解决这个问题。
发布于 2021-09-08 11:15:21
因为你的要求我不清楚。但我假设您希望所有字段都在单行中,并且您使用的是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>https://stackoverflow.com/questions/69088762
复制相似问题