Reputation: 1261
Anyway to use Django's nice "list_filter" feature in other views?
Upvotes: 2
Views: 503
Reputation: 33420
An interresting external app that allows you to configure filters is django-filter. Actually it is way more powerful than django admin list_filter.
Django-filter is a reusable Django application for allowing users to filter queryset dynamically. It requires Python 2.4 or higher. For usage and installation instructions consult the docs directory.
Django-filter can be used for generating interfaces similar to the Django admin's
list_filter
interface. It has an API very similar to Django'sModelForms
. For example if you had a Product model you could have a filterset for it with the code:
import django_filters
class ProductFilterSet(django_filters.FilterSet):
class Meta:
model = Product
fields = ['name', 'price', 'manufacturer']
And then in your view you could do:
def product_list(request):
filterset = ProductFilterSet(request.GET or None)
return render_to_response('product/product_list.html',
{'filterset': filterset})
See the docs directory for more information.
There is a really nice API behind the scenes so it's really lots of fun.
Upvotes: 1