2
無論如何在其他視圖中使用Django的很好的「list_filter」功能?Django管理list_filter重複
無論如何在其他視圖中使用Django的很好的「list_filter」功能?Django管理list_filter重複
允許您配置過濾器的interresting外部應用程序是django-filter。實際上它比django admin list_filter更強大。
Django-filter是一個可重複使用的Django應用程序,允許用戶動態地過濾查詢集。它需要Python 2.4或更高版本。有關 的使用和安裝說明,請參閱docs目錄。
Django過濾器可用於生成類似於 Django admin的
list_filter
接口的接口。它有一個非常類似於Django的ModelForms
的API 。例如,如果你有一個產品型號 你可以有一個filterset它與代碼:
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,所以它真的很有趣。
這實際上似乎是一個很好的解決方案!我會嘗試一下。謝謝! – JohnnyCash 2012-03-13 16:52:17