10个流行常用的Django第三方包-大江狗推荐

Django是围绕“可重用的应用, reusable app”的思想建立的。Django有一个丰富多样的由各种可以重用的应用组建起来的生态系统, 从中选择一些好的第三方包可以大大简化我们的Web APP开发。之前小编我已经介绍了10个常用的Django第三包,比如django-allauth, 今天就来向大家再推10个流行常用的第三方包。

No.1 Django-filter Github星数: 2742

Django-filter允许用户根据模型字段进一步过滤从数据库查得到的queryset,从而筛选出用户想要的查询结果,这样避免了对数据库的再次查询,大大提升了效率。比如用户访问文章列表页面,已经看到了文章清单,但用户还希望通过标题关键词进一步在查询结果中筛选出自己感兴趣的文章清单(而不必重新查询数据库),这时使用Django-filter就可以轻松帮你实现上述需求。下期文章我们将详细介绍如何使用和美化django-filter,欢迎关注。

No.2 cookiecutter-django Github星数: 5735

使用cookiecutter-django创建一个新项目比使用django-admin.py的命令创建新项目有更多优势,比如它会给你提供一个更加合适的项目目录结构,并允许你在创建项目之初就选择需要安装配置的库比如(compressor, celery), 你只要选择yes或no就行了。小编我喜欢自行配置项目,所以把它放在了第二位。

它的主要特色包括:

  • 默认支持SSL
  • 优化开发和生产配置
  • 默认集成django-allauth
  • 默认使用自定义的User model
  • 支持使用Anymail发送邮件
  • 支持配置使用S3或者Google Storage Cloud做云存储
  • 支持Docker,支持docker-compose
  • 默认使用postgresql
  • 支持celery

No.3 django-grappelli Github星数:2634

大家都知道django自带admin功能无比强大,学会django admin的定制与使用后就根本不需要开发自己的后台了,然而其界面却是非常简陋的。虽然xadmin很美观,但安装使用复杂。只要你不是对后台界面的外观太过挑剔,使用django-grappeli可以迅速给你一个看上去专业的管理后台。

No.4 django-guardian Github星数:2348

在我们介绍Django权限管理时,我们提到过Django没有提供对象(Object)级别的权限控制。一个用户如果对Article模型有修改的权限,那么他将对所有Article对象有修改权限。使用django-guardian可以帮助我们实现对对象级别(比如某篇具体文章)的权限控制。

No.5 django-taggit Github星数:2212

当你在django项目中需要对任何对象(文章,用户)打上一个标签(tags)时,一个最好的方式就是使用django-taggit。你可以像使用django模型自带的一个字段一样使用它快速创立多对多的关系,而且可以对你的标签进行集中管理。

No.6 django-ompressor Github星数:2234

使用django-compressor可将页面中链接的以及直接编写的JavaScript和CSS打包到一个单一的缓存文件中,以减少页面对服务器的请求数,加快页面的加载速度。当您的用户很少时,你可能不用关注压缩文件提升性能这些小事,但当你用户非常多时,你就会发现任何能够改善性能的事都是值得做的。

No.7 django-reversion Github星数:2270

如果你经常使用Git对你的代码进行版本控制,那么你可能用不上这个包。它的作用为模型提供版本控制功能,相当于给你买了杯后悔药。配置好后你可以恢复已经删除掉的模型或者回滚到模型历史中的任何一点。

No.8 django-activity-stream Github星数: 1618

如果你要开发一个社交类网站,需要实现用户关注、收藏、点赞、用户动态等功能时,这个第三方库可以快速帮你实现并提供用户的活动流。出于学习目的话,该项目的源码也是一个很好的学习对象。

No. 9 django-anymail Github星数: 809

如果你需要通过第三方邮件服务器比如Amazon SES, Mailgun, Mailjet, Postmark, SendinBlue, SendGrid和SparkPost等发送电子邮件,django-anymail可以轻松帮你完成配置。个人学习时你可以配置QQ邮箱发送邮件,但商用时还是需要使用专业邮件服务商。有些邮件服务商比如Mailgun每月提供一些免费邮件额度,还是不错的(非广告)。

No. 10 django-pure-pagination Github星数:607

Django虽然自带强大分页给你功能,但当页数非常多时显示结果对用户并不友好。比如你有1000页结构,那么1到1000每个数字都会出现页面上。使用django-pure-pagination则可以快速实现如下按范围展示的完美分页方式,值得一试。

小结

本文精选了10个流行常用的Django第三方库,并介绍了每个包的基本功能,其中的精华你都get到了吗?你还有别的喜欢的库吗?欢迎下方留言。

 

大江狗原创

2019.08.30

你可能感兴趣的:(Django,Django基础连载)