私はDjangoテーブル2とクリスピーのフォームを使用してフィルタ付きのテーブルを表示しようとしています。 Django Tables2 Filter
I持って、次のファイル:filter.py
import django_filters
from .models import Poste
class PosteFilter(django_filters.FilterSet):
id = django_filters.CharFilter(lookup_expr='icontains')
status = django_filters.CharFilter(lookup_expr='icontains')
address = django_filters.CharFilter(name='address', lookup_expr='icontains')
atualizado_em = django_filters.CharFilter(lookup_expr='icontains')
class Meta:
model = Poste
fields = {'id', 'status', 'address', 'atualizado_em',}
forms.py
from django import forms
from .models import Poste
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, ButtonHolder, Submit
class PosteListFormHelper(FormHelper):
model = Poste
form_tag = False
form_style = 'inline'
layout = Layout(
'id',
'status',
'address',
'atualizado_em',
Submit('submit', 'Filtrar'),
)
table.py
import django_tables2 as tables
from .models import Poste
class PosteTable(tables.Table):
class Meta:
model = Poste
# add class="paleblue" to <table> tag
attrs = {'class': 'paleblue'}
fields = ('id', 'status', 'address', 'atualizado_em')
per_page: 25
その結果、私はこれを取得:
私が欲しいものです:
- は単語がラベルに
- は、フィルタフォームフィールドをインラインを持っている "が含まれて" 除外
私はそれを成功させるために多くの方法を試みました。
は、フォームのレイアウトを変更することとは別問題であるので、これは二つの異なる質問として良いかもしれません。成功せずに多くの方法を試してみたら、あなたが試したものを見て、人々がうまくいかないものを提案しないようにするのは良いことです。おかげさまで – Alasdair