10个常用的Django第三方包

Django是围绕“可重用应用”的思想建立的。Django具有一个丰富多样的由各种可以重用的应用组建起来的生态系统。PyPI上就已经列出了超过8000个Django应用。从中选择一些好的第三方包可以大大简化我们的网站开发。今天我就来介绍下10个受欢迎的Django第三方应用包吧。

django-allauth - 用户注册登录管理

django-allauth 是一个能够解决你的注册和认证需求的、可重用的 Django 应用。无论你需要构建本地注册系统还是社交账户注册系统,django-allauth 都能够帮你做到。

这个应用支持多种认证体系,比如用户名或电子邮件。一旦用户注册成功,它还可以提供从无需认证到电子邮件认证的多种账户验证的策略。同时,它也支持多种社交账户和电子邮件账户。它还支持插拔式注册表单,可让用户在注册时回答一些附加问题。

django-allauth 支持多于 20 种认证提供者,包括 Facebook、Google、微博 和 微信。如果你发现了一个它不支持的社交网站,很有可能通过第三方插件提供该网站的接入支持。这个项目还支持自定义后端,可以支持自定义的认证方式,对每个有定制认证需求的人来说这都很棒。

django-allauth 易于配置,且有完善的文档。该项目通过了很多测试,所以你可以相信它的所有部件都会正常运作。

django-haystack - 全文检索引擎

全文检索不同于标题的简单匹配,是一件技术难度比较高的活。当文章很长时,你很难找到精确的匹配,同时搜索全文需要消耗大量的计算资源。有了haystack,你可以直接django中直接添加搜索功能,像搜索标题一样搜索全文,而无需关注索引建立、搜索解析等技术问题。haystack支持多种搜索引擎,不仅仅是whoosh,使用solr、elastic search等搜索,也可通过haystack,而且直接切换引擎即可,甚至无需修改搜索代码。

django-ckeditor - 富文本编辑器

django没有提供官方的富文本编辑器,而ckeditor恰好是内容型网站后台管理中不可或缺的控件。ckeditor是一款基于javascript,使用非常广泛的开源网页编辑器。它允许用户直接编写图文,插入列表和表格,并支持文本和HTML格式代码输入。

django-imagekit - 自动化处理图像

现代网站开发一般免不了处理一些图片,例如头像、用户上传的图片等内容。django-imagekit 帮你配合 django 的 model 模块自动完成图片的裁剪、压缩、生成缩略图、加水印等一系列图片相关的操作。

django-crispy-forms - 快速美化django表单首选

大大增强 Django 内置的表单功能,Django 内置的表单生成原生的 HTML 表单代码还可以,但为其设置样式是一个麻烦的事情。django-crispy-forms 帮助你使用一行代码渲染一个 Bootstrap 样式的表单,当然它还支持其它一些热门的 CSS 框架样式的渲染。

django-debug-toolbar - django项目调试利器

该工具给django web开发提供了强大的调试功能,包括查看执行的sql语句,db查询次数,request,headers,调试概览等。 通过安装插件Pympler,你还可以了解内存使用情况。

django-celery - 执行异步任务或定时任务的最佳选择

django-celery是django web开发中执行异步任务或定时任务的最佳选择。它的应用场景包括:

  • 异步任务: 当用户触发一个动作需要较长时间来执行完成时,可以把它作为任务交给celery异步执行,执行完再返回给用户。这点和你在前端使用ajax实现异步加载有异曲同工之妙。

  • 定时任务。假设有多台服务器,多个任务,定时任务的管理是很困难的,你要在不同电脑上写不同的crontab,而且还不好管理。Celery可以帮助我们快速在不同的机器设定不同任务。

  • 其他可以异步执行的任务。比如发送短信,邮件,推送消息,清理/设置缓存等。这点还是比较有用的。

django-rest-framework开发REST API的最佳工具

REST API 正在迅速成为现代 Web 应用的标准功能。 API 就是简单的使用 JSON 对话而不是 HTML,当然你可以只用 Django 做到这些。你可以制作自己的视图,设置合适的 Content-Type,然后返回 JSON 而不是渲染后的 HTML 响应。这是在像 Django Rest Framework(下称 DRF)这样的 API 框架发布之前,大多数人所做的。

如果你对 Django 的视图类很熟悉,你会觉得使用 DRF 构建 REST API 与使用它们很相似,不过 DRF 只针对特定 API 使用场景而设计。一般的 API 设置只需要一点代码,所以我们没有提供一份让你兴奋的示例代码,而是强调了一些可以让你生活的更舒适的 DRF 特性:

  • 可自动预览的 API 可以使你的开发和人工测试轻而易举。你可以查看 DRF 的示例代码。你可以查看 API 响应,并且不需要你做任何事就可以支持 POST/PUT/DELETE 类型的操作。

  • 便于集成各种认证方式,如 OAuth, Basic Auth, 或API Tokens。

  • 内建请求速率限制。

  • 当与 django-rest-swagger 组合使用时,API 文档几乎可以自动生成。

  • 广泛的第三方库生态。

django-xadmin - 更美观更强大的后台

如果你不喜欢django自带后台admin简陋的样式,你可以使用xadmin。xadmin是基于bootstrap和admin的一个更强大的后台管理系统。应该会给有强迫症的你带来惊喜。

django-constance - 常量管理

有时我们会在 django 的 settings 中设置一些常量,但是有可能会进行变更。利用这个包,只需简单的配置就可以自动生成 admin 管理后台可以修改管理常量。

猜你喜欢

转载自blog.csdn.net/bbwangj/article/details/88987220
今日推荐