30款Django 经常使用的软件包

30款Django 经常使用的软件包

Django是一款高级的Python Web框架,能够帮助开发者快速建立web应用。咱们这里整理了30款Django开发中经常使用的软件包,学会使用它们能够节省大量开发时间,提升开发效率。下面一块儿来看下。
认证和受权javascript

1. Python social auth

一款社交帐号认证/注册机制,支持Django、Flask、Webpy等在内的多个开发框架,提供了约50多个服务商的受权认证支持,如Google、Twitter、新浪微博等站点,配置简单。html

GitHub 地址:https://github.com/pennersr/django-allauth前端

文档地址:https://django-allauth.readthedocs.io/en/latest/java

点评:加强 Django 内置的 django.contrib.auth 模块,提供登陆、注册、邮件验证、找回密码等一切用户验证相关的功能。另外还提供 OAuth 第三方登陆功能,例如国内的微博、微信登陆,国外的 GitHub、Google、facebook 登陆等,几乎囊括了大部分热门的第三方帐户登陆。配置简单,开箱即用。python

pip install python-social-authjquery

2. Django Guardian

Django默认没有提供对象(Object)级别的权限控制,咱们能够经过该扩展来帮助Django实现对象级别的权限控制。git

pip install django-guardiangithub

3. Django OAuth Toolkit

能够帮助Django项目实现数据、逻辑的OAuth2功能,可与Django REST框架完美整合起来。web

pip install django-oauth-toolkitajax

4. django-allauth

可用于帐号注册、管理和第三方社交帐号的认证。

django-allauth 是一个可以解决你的注册和认证需求的、可重用的 Django 应用。不管你须要构建本地注册系统仍是社交帐户注册系统,django-allauth 都可以帮你作到。

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

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

django-allauth 易于配置,且有完善的文档。该项目经过了不少测试,因此你能够相信它的全部部件都会正常运做。

pip install django-allauth

5. Celery

用来管理异步、分布式的消息做业队列,可用于生产系统来处理百万级别的任务。

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

异步任务: 当用户触发一个动做须要较长时间来执行完成时,能够把它做为任务交给celery异步执行,执行完再返回给用户。这点和你在前端使用ajax实现异步加载有殊途同归之妙。

定时任务。假设有多台服务器,多个任务,定时任务的管理是很困难的,你要在不一样电脑上写不一样的crontab,并且还很差管理。Celery能够帮助咱们快速在不一样的机器设定不一样任务。

其余能够异步执行的任务。好比发送短信,邮件,推送消息,清理/设置缓存等。这点仍是比较有用的。

pip install Celery

6. Django REST 框架

构建REST API的优秀框架,可管理内容协商、序列化、分页等,开发者能够在浏览器中浏览构建的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 文档几乎能够自动生成。

普遍的第三方库生态。

pip install djangorestframework

7. Django stored messages

能够很好地集成在Django的消息框架中(django.contrib.messages)并让用户决定会话过程当中存储在数据库中的消息。

8. django-cors-headers

一款设置CORS(Cross-Origin Resource Sharing)标头的应用,基于XmlHttpRequest,对管理Django应用中的跨域请求很是有帮助。

pip install django-cors-headers ##9. Debug toolbar 可在设置面板显示当前请求/响应的各类调试信息。除了自己提供的操做面板外,还有来自社区的多个第三方面板。

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

pip install django-debug-toolbar 静态资源

10. Django Storages

可以使静态资源方便地存储在外部服务上。安装后只需运行“python manage.py collectstatic”命令就能够将所有改动的静态文件复制到选定的后端。可结合库“python-boto”一块儿使用,将静态文件存储到Amazon S3上。

pip install django-storages

11. Django Pipeline

静态资源管理应用,支持链接和压缩CSS/Javascript文件、支持CSS和Javascript的多种编译器、内嵌JavaScript模板,可充分容许自定义。

pip install django-pipeline

12. Django Compressor

可将页面中连接的以及直接编写的JavaScript和CSS打包到一个单一的缓存文件中,以减小页面对服务器的请求数,加快页面的加载速度。

pip install django_compressor

13. Reversion

为模型提供版本控制功能,稍微配置后,就能够恢复已经删除的模型或回滚到模型历史中的任何一点。最新版本支持Django 1.6。

pip install django-reversion

14. Django extensions

Django框架的扩展功能集合,包括management命令扩展、数据库字段扩展、admin后台扩展等。

pip install django-extensions

15. Django braces

是一系列可复用的行为、视图模型、表格和其余组件的合集。

pip install django-braces

16.django-haystack - 全文检索引擎

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

GitHub 地址:https://django-haystack.readthedocs.io/en/master/

文档地址:https://github.com/django-haystack/django-haystack

17.django-ckeditor - 富文本编辑器

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

GitHub 地址:https://github.com/django-ckeditor/django-ckeditor

18.django-imagekit - 自动化处理图像

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

GitHub 地址:https://github.com/matthewwithanm/django-imagekit

文档地址:http://django-imagekit.rtfd.org/

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

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

GitHub 地址:https://github.com/sshwsfc/xadmin

文档地址:https://xadmin.readthedocs.io/en/docs-chinese/

20.django-constance - 常量管理

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

Django 的好处就是大而全,不只内置了 ORM、表单、模板引擎、用户系统等,并且第三方应用的生态也是十分完善,开发中大部分常见的功能都能找到对应的第三方实现。在这里给你们推荐 10 个十分优秀的 Django 第三方库(GitHub 星星数基本都在 1000 以上,并且都在持续维护与更新中)。虽然这些库很适合用于社交网站的开发,但也有很大一部分是通用的,能够用于任何用 Django 开发的项目。使用这些库将大大提升开发效率和生产力。

21.django-model-utils

简介:加强 Django 的 model 模块。内置了一些通用的 model Mixin,例如 TimeStampedModel 为模型提供一个建立时间和修改时间的字段,还有一些有用的 Field,几乎每一个 Django 项目都能用得上。

GitHub 地址:https://github.com/jazzband/django-model-utils

文档地址:http://django-model-utils.readthedocs.io/en/latest/

22.django-crispy-forms

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

GitHub 地址:https://github.com/django-crispy-forms/django-crispy-forms

文档地址:http://django-crispy-forms.rtfd.org/

23.django-mptt

简介:配合 Django 的 ORM 系统,为数据库的记录生成树形结构,并提供便捷的操做树型记录的 API。例如可使用它实现一个多级的评论系统。总之,只要你的数据结构可能须要使用树来表示,django-mptt 将大大提升你的开发效率。

GitHub 地址:https://github.com/django-mptt/django-mptt

文档地址:https://django-mptt.readthedocs.io/

24.django-contrib-comments

简介:用于提供评论功能,最早集成在 django 的 contrib 内置库里,后来被移出来单独维护。这个评论库提供了基本的评论功能,可是只支持单级评论。好在这个库具备很好的拓展性,基于上边提到的 django-mptt,就能够构建一个支持层级评论的评论库。

GitHub 地址:https://github.com/django/django-contrib-comments

文档地址:https://django-contrib-comments.readthedocs.io/

25.django-brace

简介:django 内置的 class based view 很 awesome,但还有一些通用的类视图没有包含在 django 源码中,这个库补充了更多经常使用的类视图。类视图是 django 的一个很重要也很优雅的特性,使用类视图能够减小视图函数的代码编写量、提升视图函数的代码复用性等。

GitHub 地址:https://github.com/brack3t/django-braces

文档地址:http://django-braces.readthedocs.io/en/latest/index.html

点评:深刻学习类视图能够看Django类视图源码分析。

26.django-notifications-hq

简介:为你的网站提供相似于 GitHub 这样的通知功能。未读通知数、通知列表、标为已读等等。

GitHub 地址:https://github.com/django-notifications/django-notifications

文档地址:https://pypi.python.org/pypi/django-notifications-hq/

27.django-simple-captcha

简介:配合 django 的表单模块,方便地为表单添加一个验证码字段。对验证性要求不高的需求,例如注册表单防止机器人自动注册等使用起来很是方便。

GitHub 地址:https://github.com/mbi/django-simple-captcha

文档地址:http://django-simple-captcha.readthedocs.io/en/latest/

28.django-anymail

简介:配合 django 的 email 模块,只需简单配置,就可使用 Mailgun、SendGrid 等发送邮件。

GitHub 地址:https://github.com/anymail/django-anymail

文档地址:https://anymail.readthedocs.io/

29.django-activity-stream

简介:社交类网站免不了关注、收藏、点赞、用户动态等功能,这一个 app 全搞定。甚至用它实现一个朋友圈也不是不可能。

GitHub 地址:https://github.com/justquick/django-activity-stream

文档地址:http://django-activity-stream.rtfd.io/en/latest/

30.Datatables

是一款jquery表格插件。它是一个高度灵活的工具,能够将任何HTML表格添加高级的交互功能。

官网:https://datatables.net/ 中文网站:http://datatables.club/

———————————————— 版权声明:本文为CSDN博主「菲宇」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。 原文连接:http://www.javashuo.com/article/p-zsxusgyf-q.html

相关文章
相关标签/搜索