我正在开发一个Django项目,项目显示在主页面上。我试图在这个页面上运行一个过滤器,这样如果我检查一些复选框,它会过滤结果以显示匹配这些属性的项目,不幸的是我不知道如何做到这一点。
我认为我需要使用Ajax,但可能是错误的,并且想知道如何设置我的应用程序以便在页面上过滤结果。我正在使用Django 1.7和python 2.7
编辑:
对于我的要求含糊不清的道歉,在我的网站索引页面上我列出了项目,每个项目都有属性,例如我想要过滤的类别。我没有为这部分编写任何代码,因为我不知道如何开始使用它,并且遗憾的是,无法在网上找到任何帮助。我觉得必须有一种简单的方法来更新我的索引页面,只显示与所选框相匹配的项目,并感谢您的帮助。
答案 0 :(得分:0)
你的问题有点模糊,但可能你正在寻找像django-filter这样的东西来自动过滤列表。
过滤器的定义方式与定义表单或模型的方式类似,因此易于学习。实施例
import django_filters
class ProductFilter(django_filters.FilterSet):
class Meta:
model = Product
fields = {'name': ['exact', 'icontains'],
'price': ['exact', 'gte', 'lte'],
}
不需要AJAX。
但如果您使用的是AJAX或D.R.F.,Django过滤器有一个附加组件django-rest-framework-filters,因此它可以通过REST与D.R.F一起使用。