【发布时间】:2019-06-06 03:22:20
【问题描述】:
我所做的与文档完全一样,但是当我在“名称”字段中输入一个值并单击过滤器时,页面会刷新但没有过滤任何内容。按照我的代码。
filter.py
class ClientFilter(django_filters.FilterSet):
class Meta:
model = Client
fields = ['name']
views.py
class RelatorioClientsView(FilterView, ExportMixin, CustomListView):
template_name = 'relatorios/clients/geral.html'
model = Client
table_class = ClientTable
context_object_name = 'all_clients'
permission_codename = 'view_clients'
filterset_class = ClientFilter
def get_context_data(self, **kwargs):
context = super(RelatorioClientsView,
self).get_context_data(**kwargs)
table = ClientTable(Client.objects.all())
table.paginate(page=self.request.GET.get('page', 1), per_page=15)
context['table'] = table
RequestConfig(self.request).configure(table) #ordena
return context
tables.py
class ClientTable(ColumnShiftTable):
class Meta:
model = Client
sequence = ('id', 'name')
template_name = 'django_tables2/bootstrap.html'
template.html
{% load render_table from django_tables2 %}
{% load bootstrap3 %}
{% if filter %}
<form action="" method="get" class="form form-inline">
{% bootstrap_form filter.form layout='inline' %}
{% bootstrap_button 'filter' %}
</form>
{% endif %}
{% render_table table' %}
Here 是过滤器的文档部分链接
【问题讨论】:
标签: django python-3.x django-filter django-tables2