无论如何在其他视图中使用Django的漂亮“list_filter”功能?
答案 0 :(得分:1)
允许您配置过滤器的有趣的外部应用是django-filter。实际上它比django admin list_filter更强大。
Django-filter是一个可重用的Django应用程序,允许用户使用 动态过滤查询集。它需要Python 2.4或更高版本。对于 使用和安装说明请参阅docs目录。
Django-filter可用于生成类似于的接口 Django admin的
来获得它的过滤器list_filter
界面。它的API非常相似 到Django的ModelForms
。例如,如果您有产品型号 你可以使用代码:
import django_filters
class ProductFilterSet(django_filters.FilterSet):
class Meta:
model = Product
fields = ['name', 'price', 'manufacturer']
然后在你看来你可以这样做:
def product_list(request):
filterset = ProductFilterSet(request.GET or None)
return render_to_response('product/product_list.html',
{'filterset': filterset})
有关详细信息,请参阅docs目录。
幕后有一个非常好的API,所以它真的很有趣。