使用Django和Ajax在页面上过滤结果

时间:2016-06-22 09:21:59

标签: javascript python ajax django

我正在开发一个Django项目,项目显示在主页面上。我试图在这个页面上运行一个过滤器,这样如果我检查一些复选框,它会过滤结果以显示匹配这些属性的项目,不幸的是我不知道如何做到这一点。

我认为我需要使用Ajax,但可能是错误的,并且想知道如何设置我的应用程序以便在页面上过滤结果。我正在使用Django 1.7和python 2.7

编辑:

对于我的要求含糊不清的道歉,在我的网站索引页面上我列出了项目,每个项目都有属性,例如我想要过滤的类别。我没有为这部分编写任何代码,因为我不知道如何开始使用它,并且遗憾的是,无法在网上找到任何帮助。我觉得必须有一种简单的方法来更新我的索引页面,只显示与所选框相匹配的项目,并感谢您的帮助。

1 个答案:

答案 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一起使用。