看朋友圈今天算是所有的小伙伴都回来工作了,我们从今天开始回到Python开发技术的正题,毕竟这才是我们吃饭的家伙。
今天我们聊一个我日常开发常用到的一个包名叫,这个包对于我们日常Django开发工作的筛选开发非常方便,只需要配置几行代码就能完成我们复杂的筛选。
我在前面介绍Swagger一文「
超好用的API工具-Swagger
」的时候提到过它,尤其是对于XXX系统管理页面处理起来简直不要太方便,下面且听我细细道来。
安装配置
这个工具安装很简单通过pip就进行
pip install django-filter
这里要说明下这里安装的最新的django-filter,默认新版本是要求Python3的,如果我们环境是Python2.7的需要安装django-filter 1.1.0版本的,另外这个包依赖djangorestframework框架,下面我简称DRF。
安装完,我们添加进INSTALLED_APPS
这里把django-filter作为默认的backends,也可以在viewset里面写,见下文。
使用
使用的时候我们需要创建一个FilterSet类来进行过滤筛选,废话不多说,我们看一个代码。
上面这个代码展示了我们价格范围过滤,实际中我们还可以有更多筛选展示方式,
上面我从时间范围选择,精确筛选,包含等几个维度展示了django-filter筛选的情况,满足绝大多数筛选情况了,另外我标注了filterset_class写法是在Django-filter 1.1之后,filter_class写法是在1.1之前版本,这里大家需要注意一下。
效果
从上面的代码大家看到了,我们通过把Django-filter集成到DRF中,关于日常筛选操作非常便捷有效,让我们的后端效率大大提高。自己即可以进行开发调试也能交付完整的接口给前端的同学,让大家对接起来更加开心愉快。
结合我前文说的Swagger,效果图如下。
关于Django-filter我们今天就介绍到这儿,完整实例代码放在github,公众号后台对话框回复「django-filter」获取,喜欢的同学可以持续关注,后续我会持续分享更多关于Django及DRF高效开发的插件或者第三包,让开发更加开心愉快。
更多阅读:
开工大吉,推荐几个Vim神级插件
这个春节我们来点儿不一样的?
终极利器|一篇文章讲清楚Python虚拟环境
领取专属 10元无门槛券
私享最新 技术干货