【发布时间】:2012-03-30 02:07:54
【问题描述】:
无论如何要在其他视图中使用 Django 的“list_filter”功能?
【问题讨论】:
标签: django django-models django-admin django-templates django-admin-filters
无论如何要在其他视图中使用 Django 的“list_filter”功能?
【问题讨论】:
标签: django django-models django-admin django-templates django-admin-filters
一个有趣的外部应用程序允许您配置过滤器是django-filter。实际上它比 django admin list_filter 强大得多。
Django-filter 是一个可重用的 Django 应用程序,允许用户 动态过滤查询集。它需要 Python 2.4 或更高版本。为了 使用和安装说明请查阅docs目录。
Django-filter 可用于生成类似于 Django 管理员的
list_filter接口。它有一个非常相似的 API 到 Django 的ModelForms。例如,如果您有一个 Product 模型 你可以用代码为它设置一个过滤器:
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,所以真的很有趣。
【讨论】: