我正在尝试为django中的某个应用程序制作一个过滤器。 我不知道该怎么做,但我试图按照this教程。
我在我的应用中创建了一个filter.py文件。对还是错?看起来像这样:
import django_filters
from pubs.models import Pub
class PubFilter(django_filters.FilterSet):
class Meta:
model = Pub
fields =[
'county'
]
def __init__(self, *args, **kwargs):
super(PubFilter, self).__init__(*args, **kwargs)
self.filters['manufacturer'].extra.update(
{'empty_label': 'All Manufacturers'})
我的观点如下:
from pubs.filter import PubFilter
class PubsListView(ListView):
model = Pub
template_name = 'pubs/pubs-list.html'
def pubs_list(self):
f = PubFilter(self.GET, queryset=Pub.objects.all())
return render_to_response('pubs/pubs-list.html', {'filter': f})
然后在我的模板中我添加了以下行:
<form action="" method="get">
{{ filter.form.as_p }}
<input type="submit" />
</form>
{% for obj in filter %}
{{ obj.name }} - ${{ obj.county }}<br />
{% endfor %}
它不起作用。我唯一看到的是一个按钮,其中谁说'#34;发送&#34;。 我做错了什么?