开发django工具(10大Django第三方软件包)

开发django工具(10大Django第三方软件包)(1)

Django是一个 "包含电池 "的网络框架,但它真正的闪光点在于其强大的第三方软件包的生态系统,这些软件包为框架增加了额外的功能。目前有将近4000个可用的软件包,所有这些都可以在可爱的Django软件包网站上看到。然而,浏览所有这些包可能会让人不知所措。

awesome-django repo列出了许多流行的第三方软件包,还有一篇关于10个最常用的Django软件包的单独帖子。在Django官方论坛上,围绕五大第三方软件包的争论仍然很激烈。

但如果你对一个最受欢迎的列表感兴趣,那就来看看吧。这些是一些最好的和最受欢迎的Django第三方软件包,我几乎在每个新项目中都会用到它们。

  1. Django REST Framework (DRF)

Django REST Framework (DRF)使得从头开始创建一个REST API或在现有的Django网站上添加一个API变得容易。它特意模仿了许多Django的惯例,并提供了强大的序列化功能,因此你可以按照你的选择来格式化你的数据。一个庞大的社区积极地维护着这个软件包,并拥有自己的相关第三方软件包的生态系统。

大多数Django开发者,如果被迫只选择一个第三方软件包,会选择DRF。它就是这么重要。而且它也是迄今为止下载量最大的Django第三方软件包。

  1. django-debug-toolbar

django-debug-toolbar几乎包含在每个Django项目的本地开发中。它有助于调试Django应用程序,并带有一套可配置的面板,用于检查网站的各个领域,包括SQL查询、请求和响应,以及一般的性能洞察力。这个软件包从Django诞生之初就已经存在,是现代django开发的一个支柱。

  1. django-extensions

这是对Django有用的真正的瑞士军表。有一个很长的命令扩展列表,但特别喜欢的是shell_plus,用于在python shell中自动加载数据库模型,以及runserver_plus,用于改进由Werkzeug驱动的本地网络服务器。

  1. django-CORS-headers

如果你正在用Django构建一个API,你需要一种方法来为响应添加跨源资源共享(CORS)头信息。这个包可以无缝、优雅地处理这个问题。

  1. django-allauth

Django的内置认证系统很强大,但django-allauth将其提升到了另一个层次。它为Django的注册默认值增加了许多改进,包括社交认证、只用电子邮件登录以及更多的功能。

  1. Wagtail

Wagtail是一个建立在Django上的内容管理系统,提供了灵活性和出色的用户体验。如果你需要一个Python CMS,Wagtail是个不错的选择。它有自己的Wagtail第三方软件包网站、会议和一个由Torchbox的开发团队领导的奇妙社区。

  1. django-filter

一个改进的方法来过滤基于用户选择的Django QuerySets。它还强大地支持向Django REST框架添加过滤器。

  1. django-storages

在Django的世界里,你是否在处理用户上传的内容(通常称为媒体)?django-storages支持多个存储供应商,包括Amazon S3、Azure Storage、Digital Ocean、Google Cloud Storage等。

  1. django-environ

秘密信息应该存储在环境变量中,而不是源代码中,特别是你的SECRET_KEY、任何API密钥、数据库凭证、支付信息等等。 django-environ是最流行的Django专用选项,尽管其他流行的方法包括Python-dotenv和environs。

  1. django-anymail

发送电子邮件是任何用户注册过程的核心部分,这个软件包与最流行的电子邮件服务提供商无缝协作,包括Amazon SES、MailGun、SendGrid等。

额外的第三方套餐

很难仅仅停留在十个第三方软件包上。如果这个列表再长一点,它也会包括以下软件包:

  • cookiecutter-django是一个用于快速启动生产就绪的Django项目的框架。
  • django-compressor将JavaScript和CSS压缩到一个缓存文件中。
  • django_coverage_plugin是一个添加coverage.py的插件,用于测量Django模板的执行情况。
  • django-crispy-forms以一种优雅和DRY(Don't Repeat Yourself)的方式控制你的Django表单的渲染行为。它还为流行的CSS框架提供了模板包,如Tailwind、Bootstrap、Bulma、Foundation和Uni-form。
  • dj-data-url使用DATABASE_URL环境变量来配置你的Django应用程序。
  • django-redis除了现在Django中内置的Redis缓存后端支持外,还有一些额外的功能。
  • django-restframework_simplejwt如果你想在你的Django API中使用JWTs。
  • django-silk执行实时分析并检查HTTP请求和数据库查询。
  • django-simple-history可以让你存储模型历史,并在管理网站上查看/恢复更改。 django-upgrade可以自动升级你的Django项目。
  • django-waffle是Django中的一个功能翻转器,可以打开或关闭标志。
  • django-q是一个任务队列,支持Redis, Disque等。
  • djangox是一个带有电池的Django启动项目。
  • model-bakery是一种创建测试用固定程序的智能方法。
  • pytest-django简化了将pytest集成到Django应用中的过程。
  • sorl-thumbnail提供了缩略图和图像大小的调整。
Python软件包

许多Python包是Django生态系统的关键部分,但也可以更广泛地使用。下面是一份Django项目中最常用的清单:

  • black,一个不折不扣的Python代码格式化器。
  • celery,一个分布式任务队列。
  • coverage,用于测量代码覆盖率。
  • factory-boy 改进了Python的夹具测试。
  • flake8是一个用于执行风格指南的工具。
  • gunicorn是一个生产型WSGI服务器。
  • httpx 是下一代 HTTP 客户端,基本上是 requests 的更新版本。
  • isort以Pythonic方式对你的导入进行排序。
  • Pillow 是 Python 图像库。
  • psycopg 是一个用于 Python 的 PostgreSQL 数据库适配器。
  • pytest 是一个用于编写小型、模块化测试的框架。
  • whitenoise 是 Django 在生产中托管静态文件的默认方式。
,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页