Py学习  »  Django

2020年下载量最高的102个Django软件包

马哥Linux运维 • 3 年前 • 543 次点击  
2020年已经结束,是时候分析2020年最需要的Django软件包了。
0. Django
2020年,Django本身被下载了6550万次!如果将其与2019年的4100万次下载进行比较,这将是一个惊人的巨大提升。这是否意味着Django获得了+ 50%的流行度,或者CI / CD Pipline在开发实践中变得更加普及了
1. REST
一半的Django安装是与REST框架相关的。djangorestframework软件包的下载量超过3500万次。令人惊讶的是,旧的,错误的ddjango-rest-framework包被请求了500万次。
REST框架形成了它自己的一组配套软件包,它们也排在所有下载的顶部。
- djangorestframework 34 227 575- django-cors-headers 17 980 262- django-rest-framework 5 012 054- django-rest-swagger 3 834 364- djangorestframework-jwt 3 663 231- djangorestframework-simplejwt 3 285 074- graphene-django 2 447 735- django-rest-auth 2 238 789- djangorestframework-camel-case 1 913 461- djangorestframework-csv 1 819 678- django-tastypie 1 305 827- djangorestframework-stubs 973 349- djangorestframework-filters 902 035- djangorestframework-xml 891 171
更新:djoser — REST框架的身份验证程序包具有750208次下载,与前100名相比略有下降。
2.开发实用程序
开发过程助手是一种非常流行的软件包类别。静态类型的增长趋势将类型推断django-stubs包推入了前100名。似乎不是每个人都可以将Django升级到最新版本。在这种情况下,django-compactpackage有助于在遗留项目中使用现代的Django新功能
- django-extensions 16 406 788- django-debug-toolbar 10 453 779 - pylint-django 5 776 115- django-waffle 2 239 980- django-stubs 2 010 553- django-silk 1 738 951- django-compat 1 040 285
3. ORM扩展名和表单/序列化器字段
这就是我们最喜欢Django的地方:丰富的查询和许多本机DB类型支持开箱即用,并带有许多第三方软件包。
有时甚至很难选择。 我们将使用什么来获得树结构支持?django-treebead或django-mppt?如何保持更改历史记录-在具有django-reversion的单个表中,还是为每个具有django-simple-history的模型制作一个单独的表?
- django-filter 16 706 350- django-model-utils 5 855 904- django-timezone-field 5 135 947- django-import-export 4 059 689- django-phonenumber-field 3 788 927- django-mptt 3 530 540- django-countries 3 395 824- django-simple-history 2 929 907- django-taggit 2 500 534- django-mysql 2 429 771- django-polymorphic 2 424 916- django-localflavor 2 395 908- django-reversion 2 141 762- django-picklefield 1 998 291- django-treebeard 1 960 088- django-dirtyfields 1 752 146- django-jsonfield 1 382 853- django-bitfield 1 375 136- django-bulk-update 1 272 312- django-modeltranslation 1 093 761- django-modelcluster 907 941
4.测试
最近有关将pytest-django嵌入Django核心的讨论表明缺少一些重要功能。即便如此,pytest是Django项目中最受欢迎的替代测试运行器。
- pytest-django 12 145 477- django-nose 3 378 225- django-coverage-plugin 1 225 145
5.表格
表单是Django的一个很棒的部分,它大大减少了手动HTML编码。但是无法在完美上有所进步。大量的程序包允许在Django中调整表单渲染,并将于2020年投入使用。
- django-crispy-forms 5 130 503- django-widget-tweaks 2 603 999- django-formtools 2 348 083- django-ckeditor 1 720 610- django-autocomplete-light 1 425 283- django-bootstrap4 1 121 947- django-bootstrap3 1 119 687- django-multiselectfield 1 100 977- django-tinymce 963 423
6.缓存
Django开箱即用,具有完善的Memcache Cache后端集成,但是Redis仍然很流行,可以通过两个不同的第三方软件包之一启用。
它并不取决于用于缓存后端的内容:django-cacheops提供了便捷的QuerySet缓存和自动的,由事件驱动的细化失效快捷方式。
- django-redis 9 400 461- django-redis-cache 2 083 225- django-cacheops 1 130 117
7.Settings
我们都希望Django默认设置在默认情况下对部署更友好,但是使用django-environ的Django项目似乎只是其中的一小部分。其他人是否对os.environ.get满意?
- dj-database-url 7 573 407- django-appconf 6 783 029- django-environ 5 588 732- django-constance 1 159 432
更新:这篇文章的初始版本,错过了dj-database-url软件包的使用。

8.后台工作
在许多Django项目中,它可能是最重要的功能,但是很难估计实际使用情况。Celery库的最新版本可以直接使用,而无需任何其他Django特殊配置。Celery是Python世界中最流行的分布式任务队列。它具有3500万次下载。
- django-celery-beat 4 427 330- django-celery-results 3 308 005- django-celery 1 492 722- django-crontab 1 271 395- django-rq 972 330
更新:其他celery竞争者,离下载数不远dramatiq-342536 huey -330942

9.认证和授权
外部服务集成是身份验证类别中最需要的功能。行级权限领导者django-guardian多年来一直位居榜首。
- social-auth-app-django 4 228 917- django-allauth 3 563 403- django-oauth-toolkit 2 851 276- django-otp 1 945 657- django-guardian 1 797 562- django-auth-ldap 1 193 910
10.快捷方式和帮手
Django核心是否包含用于开发的所有内容?还是我们仍然缺少一些方便的快捷方式,这些快捷方式将实用程序包带到了下载列表的顶部?
- django-ipware 4 102 954- django-braces 2 250 861- django-user-agents 1 468 511- django-annoying 867 588
11.前端工具
对前端集成类别仅排名第11也算正常, 因为大多数项目都使用本机JavaScript工具,而不必理会Django集成。
- django-js-asset 3 924 030- django-webpack-loader 3 439 016- django-compressor 2 969 084 - django-pipeline 1 085 094
12.安全性
默认情况下,Django包含ClickJacking和CSRF攻击防护。第三方程序包提供通用的速率限制和登录尝试限制。django-csp甚至进一步限制了页面上JavaScript的执行,从而降低了内容注入漏洞(例如跨站点脚本,
- django-axes 2 071 982- django-ratelimit 1 341 813- django-csp 1 339 511
13.邮件
同样,使用云服务支持扩展Django核心功能的软件包类别。单个Amazon SES服务似乎与所有其他交易邮件服务一起受欢迎。
- django-ses 1 992 158- django-anymail 1 858 837
14.监控
改善Django监控的辅助工具。我们在这里缺少Sentry,因为很难在Django项目中拆分其用途,但是肯定地说,Sentry在一年中有4200万次下载,是其同类产品的领导者
- django-health-check 1 933 588- django-prometheus 1 742 891- django-log-request-id 1 041 023
15.Administration
多年来,Django后台管理变得越来越好。不需要太多的软件包即可对其进行更多改进。但是,具有漂亮外观的样式仍使django-grappelli居于首位。
- django-grappelli 1 518 684- django-admin-rangefilter 1 385 710- django-admin-sortable2 1 012 336- django-object-actions 1 015 603
16.搜索
最后一个类别-全文搜索支持。有没有想过与ElasticSearch一起使用的库是什么?我也是。
- django-haystack 1 255 008- django-elasticsearch-dsl 934 495
其他
那些非常棒的软件包在TOP 100下载中没有任何竞争对手。
使用django-storages将静态文件和媒体文件保存在云中,使用django-tables2,django-classy-tags和django-sekizai渲染更干净的模板,并使用django-fsm组织工作流程。
django-heroku是TOP 100中唯一有助于Django部署的软件包。这样的任务不是那么复杂,以至于没有其他软件包被创建吗?
- django-storages 13 080 397- django-tables2 1 439 101- django-fsm 1 395 410- django-classy-tags 1 307 024- django-heroku 1 193 323- django-sekizai 1 030 699

补充:
几个软件包的名称中没有提及Django。Wagtail的下载量是django-cms的两倍,因此绝对应该包含在TOP 100中
Django的最新版本具有内置的异步支持。 

- channels 3 050 679- wagtail 1 010 017
这就是Django Universe中按下载量计的前100名软件包。
那么到这里,给所有Django开发人员说一下,这就是我们在2020年的工作方式。你对明年的发展趋势有一个了解了吗?我们缺少什么package?最近是否有任何新的即将创建的工具? 欢迎在下方留言沟通。
文章转自:python运维技术
Django Model背后原理是什么?屡屡在面试中将你难倒的元编程究竟难在哪里?锁定3日(周三)晚20:00,Python大牛讲师Wayne带你搞懂Django背后的元编程!扫码报名立即参加↓↓

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/107097
 
543 次点击