2024年网安最新终于把Python网站开发库大全整理完了,建议收藏!
官 网:
https://emmett.sh/
优 点:编写优雅的代码,专注于您的产品,你应该把更多的时间花在你的产品而不是底层框架上。Emmett 是发明家的框架,因为它旨在简化您的开发过程,其语法简单、易于学习和理解。不要在路由器和不舒服的模式之间浪费时间:每次为应用程序写下路由时,一切都清楚地呈现在您的眼前。
缺 点:中文文档匮乏。
12. apidaora 框架
官 网:
https://github.com/dutradda/apidaora
优 点:使用类型注释将请求 / 响应声明为数据类和字典,使用 jsondaora 验证输入数据,最快的 python api 框架之一,可以在任何 asgi 服务器上运行。
缺 点:中文文档匮乏。
13. Quixote 框架
官 网:
http://www.quixote.ca/
优 点:Quixote 是一个使用 Python 编写基于 Web 的应用程序的框架。它的目标是按此顺序实现灵活性和高性能。Quixote 应用程序的结构往往类似于传统应用程序。格式化网页的逻辑由 Python 类和函数组成。Quixote 不强制分离表示逻辑和 “后端” 逻辑。相反,我们鼓励您使用传统技术。例如,一种解决方案是将表示逻辑放在其自己的子包中。
缺 点:虽然 Quixote 得到积极维护,但发布频率较低。最近开发的重点是修复错误、提高标准合规性和增加 Quixote 的灵活性。
14. reahl 框架
官 网:
https://www.reahl.org/
优 点:reahl 是一个可以让开发者完全用 Python 语言编写 Web 应用的开放框架,采用 Python 作为唯一开发语言是其最大特色。此外,reahl 提供了相当清晰且简明的开发组建,对于开发一般功能性 Web 系统足够清晰且可行。
缺 点:提供抽象词汇时,无法掌握一些更高级的用户界面效果,目前不允许使用 Sass 构建 Bootstrap 的修改版本,并支持更高级的用户界面模式
15. hug 框架
官 网:
https://hug.rest/
优 点:Hug 是一个 Python 3 API 开发框架。它的设计使软件工程师可以一次开发 API,然后在需要时再使用它。Hug 框架通过提供各种接口来简化 API 开发。这就是为什么该框架被称为 Python 3 中最快的框架之一的主要原因。
缺 点:它使用以前的 WSGI 标准,这是一个同步框架,所以它不能处理像 WebSockets 和其他异步请求,不管怎么说,它仍然有非常好的性能表现。
16. BlackSheep 框架
官 网:
https://github.com/Neoteroi/BlackSheep
优 点:BlackSheep 是一个异步 Web 框架,用于使用 Python 构建基于事件的 Web 应用程序。它的灵感来自 Flask、ASP.NET Core 和 Yury Selivanov 的工作。
缺 点:中文文档匮乏。
17. Index.py 框架
官 网:
https://index-py.aber.sh/stable/
优 点:实现了 ASGI3 接口并使用 Radix Tree 进行路由查找。是最快的 Python web 框架之一。一切特性都服务于快速开发高性能的 Web 服务。大量正确的类型注释,灵活且高效的路由系统,可视化 API 接口与在线调试,支持 Server-sent events 与 WebSocket,自带一键部署命令 (基于 uvicorn 与 gunicorn),可使用任何可用的 ASGI 生态。
缺 点:Index.py 不内置数据库、缓存等其他功能。选择困难者请直接使用 Django。
18. Sanic 框架
官 网:
https://github.com/sanic-org/sanic
优 点:Sanic 是一个 Python 3.7+ web 服务器和 web 框架,它的编写速度很快。它允许使用 Python 3.5 中添加的 async/await 语法,这使您的代码无阻塞且快速。该项目的目标是提供一种简单的方法来启动和运行一个高性能的 HTTP 服务器,该服务器易于构建、扩展和最终扩展。
缺 点:就功能方面 Sanic 模仿 Flask,比如通过共享 Blueprints 的概念,微小的子应用程序,允许开发人员在更大的应用程序中拆分和组织其代码。对于光光是数据增删改查 CRUD 应用,Sanic 也不是一个好的选择。
19. Starlette 框架
官 网:
https://pypi.org/project/starlette/
优 点:Starlette 是一个轻量级的 ASGI 框架 / 工具包,非常适合构建性能异步服务,它是生产就绪的,并为您提供以下内容:令人印象深刻的表现。WwbSocket 支持。GraphQL 支持。进程内后台任务。启动和关闭事件。基于请求构建的测试客户端。CORS、GZip、静态文件、流响应。会话和 Cookie 支持。100% 的测试覆盖率。100% 类型注释代码库。零硬依赖。
缺 点:Starlette 提供了所有基本的 Web 微框架功能。但是它不提供自动数据验证,序列化或 API 文档。
20. Fastapi 框架
官 网:
https://fastapi.tiangolo.com/
优 点:FastAPI 是一个现代、快速(高性能)的 Web 框架,用于基于标准 Python 类型提示使用 Python 3.6+ 构建 API。非常高的性能,与 NodeJS 和 Go 相当(感谢 Starlette 和 Pydantic)。可用的最快的 Python 框架之一。减少大约 40% 的人为(开发人员)引发的错误。简短,简单,直观,健壮。
缺 点:本身不带模板语法,需要安装模板语法
21. Responder 框架
官 网:
https://python-responder.org/
优 点:是 kennethreitz 新开发的一个项目,是一个基于 Python 的 HTTP 服务框架。底层用了 Starlette 的框架,Starlette 是一款轻量级的 ASGI 框架 / 工具包, 可以用 Starlette 构建高性能的异步 IO 服务。相对于 Starlette , responder 对开发者更加友好一点。kennethreitz 写了 requests 号称 “HTTP for Humans” 更加清楚这一点。事实上比较下来,responder 也比 Starlette 优雅很多。
缺 点:可能是新项目, 打包还不太完善。就目前版本而言,少许代码还不能正常工作。但接口形式已经定义完毕,期待后面版本会加上去。
22. Molten 框架
官 网:
https://moltenframework.com/
优 点:Molten 是一个最小的、可扩展的、快速的和高效的框架,用于使用 Python 构建 HTTP API。计划自动验证请求,代码更容易维护。实例可自动序列化,包含 API 在现实世界中通常要求的各种功能,广泛使用 PEP484 类型提示和 mypy。
缺 点:它没有使用像第三方库(如 Pydantic)提供数据验证,序列化和文档,它有自己的库。因此,这些数据类型定义将不太容易重用。依赖注入系统需要对依赖项进行预注册,并且将基于已声明的类型解决依赖问题。因此,不可能声明多个组件来提供一个特定的类型。
23. Clastic 框架
官 网:
https://github.com/mahmoud/clastic
优 点:一个功能强大的 Python Web 框架,可简化显式开发实践,同时消除全局状态。Clastic 是完全用 Python 语言编写的,增强可重用性和可测试性,主动 URL 路由检查,更好地控制应用程序初始化,改进的中间件范例,没有全局状态,ORM 用法,更容易的 WSGI 集成。
缺 点:Clastic 没有构建全局状态;URL 路由规则参数和视图函数签名不匹配,在 Clastic 中,这种不匹配会在构建应用程序时引发异常。
24. Aiohttp 框架
官 网:
https://docs.aiohttp.org/en/stable/
优 点:用于 asyncio 和 Python 的异步 HTTP 客户端 / 服务器。支持客户端和 HTTP 服务器,支持开箱即用的服务器 WebSockets 和客户端 WebSockets,没有回调地狱。Web 服务器具有中间件、信号和可插入路由。
缺 点:根据 RFC 7231 aiohttp 2.0 版本后做了接受 HEAD 请求的调整,使用之前版本并且用 add_ get () 添加的请
求,如果使用 HEAD 方法访问会返回 405。如果处理器会写入很多响应体内容,你可以在执行 HEAD 方法时跳过处理响应体内容以提高执行效率。
25. Masonite 框架
官 网:
https://docs.masoniteproject.com/
优 点:现代和以开发人员为中心的 Python Web 框架致力于实现实际的 batteries,包括具有许多开箱即用功能的开发人员工具,具有极其可扩展的架构。Masonite 非常适合初学者开发人员进入他们的第一个 Web 应用程序,以及需要充分利用 Masonite 的全部潜力来完成他们的应用程序的经验丰富的开发人员。Masonite 努力实现从安装到部署的快速简便,因此开发人员可以尽可能快速有效地从概念到创建。将其用于您的下一个 SaaS!尝试一次,你就会坠入爱河。
缺 点:对于 Masonite 来说,最大的” 竞争对手” 是 Django, 因为社区正在竭尽全力将框架推向容易,令人愉悦的下一件大事。与 Django 相比,Masonite 仍然是婴儿,期待它未来的表现。
26. Quart 框架
官 网:
https://pgjones.gitlab.io/quart/
优 点:Quart 是一个 Python 网络微框架。使用 Quart,您可以呈现和提供 HTML 模板,编写(RESTful)JSON API,服务 WebSockets,流请求和响应数据,几乎可以通过 HTTP 或 WebSocket 协议做任何事情。
缺 点:它仅支持 Python 3.7+。
27. Tonberry 框架
官 网:
https://github.com/Ayehavgunne/Tonberry
优 点:一个符合 ASGI 的 Web 微框架,采用基于类的路由方法。受 CherryPy 的影响但与 asyncio 兼容。一个名为 Qactuar 的配套 ASGI 服务器是从这个目前正在进行的项目中产生的。
缺 点:在使用拉取请求,请使用自动格式化程序 iSort 和 Black 并使用 MyPy 验证代码。这是在不消除某些类型错误的情况下,并不总是可以使 MyPy 完全满意,但是至少尽你所能并谨慎使用注释 # type: ignore
。最后,尝试,尽可能提供最准确的类型提示。
28. cyclone 框架
官 网:
https://cyclone.io/
优 点:Cyclone 是 Python 的 Web 服务器框架,它将 Tornado API 实现为 Twisted 协议。Twisted 是一个事件驱动的 Python 网络编程框架。它是最成熟的非阻塞 I/O 库之一,可供公众使用。Tornado 是 FriendFeed 网络服务器的开源版本,它是最流行和最快速的 Python 网络服务器之一,具有用于构建网络应用程序的非常不错的 API。除了丰富的功能集之外,Cyclone 还解决了 C10K 问题。
缺 点:Cyclone 不再支持 python 2.x 。
29. Klein 框架
官 网:
https://github.com/twisted/klein
优 点:Klein 是一个微框架,用于使用 Python 开发可用于生产的 Web 服务。它是 “微” 的,因为它具有类似于 Bottle 和 Flask 的非常小的 API。它不是 “微”,因为它依赖于标准库之外的东西。这主要是因为它建立在广泛使用和经过良好测试的组件上,如 Werkzeug 和 Twisted。
缺 点:也许有点过时了。
30. nameko 框架
官 网:
https://github.com/nameko/nameko
优 点:AMQP RPC 和事件(发布 - 订阅),HTTPGET、POST 和 websockets,CLI 实现简单快速的开发,用于单元和集成测试的实用程序。
缺 点:nameko 微服务出错不会自动打印错误日志,需要加上监控相关的依赖,计算密集型任务导致任务重试。
31. CubicWeb 框架
官 网:
https://www.cubicweb.org/
优 点:CubicWeb 是一种语义 Web 应用程序框架,在 LGPL 下获得许可,它使开发人员能够通过重用组件(称为立方体)并遵循众所周知的面向对象设计原则来有效地构建 Web 应用程序。满足常见需求的可重用组件(数据模型和视图)库,Python 编程语言的强大功能和灵活性,用于存储后端的 SQL 数据库、LDAP 目录、Subversion 和 Mercurial 的可靠性。
缺 点:要在 CubicWeb 应用程序中获取或操作持久数据,可以使用关系查询语言(RQL),RQL 提供了一种高度分离的路径来相互关联各种数据源。但是,随着它的实现,通过手动构建查询作为字符串,它可能会让习惯于 ORM 的开发人员感到过时。使用 CubicWeb 还有其他障碍。首先,设置可能很麻烦。另一个潜在的问题是缺少本机模板引擎;生成 HTML 留给开发人员。CubicWeb 支持 Python 3,但 Twisted 等模块本身并未完全移植。
32. Zope2 框架
官 网:
https://zope.readthedocs.io/en/latest/
优 点:Zope 2 是一款基于 Python 的 Web 应用框架,是所有 Python Web 应用程序、工具的鼻祖,是 Python 家族一个强有力的分支。Zope 2 的 “对象发布” 系统非常适合面向对象开发方法,并且可以减轻开发者的学习曲线,还可以帮助你发现应用程序里一些不好的功能。
缺 点:Zope 不适用于简单的 RESTful API(每 Bottle 或 Flask),甚至不适用于具有交互性的基本网站(à la Django),由于 Zope 的尺寸和复杂性,安装需要一些工作;这不是简单地将源解压缩到项目子文件夹中的问题。
33. Web2py 框架
官 网:
http://web2py.com/
优 点:Web2py 是一个用 Python 语言编写的免费的开源 Web 框架,旨在敏捷快速的开发 Web 应用,具有快速、可扩展、安全以及可移植的数据库驱动的应用,遵循 LGPLv3 开源协议。Web2py 提供一站式的解决方案,整个开发过程都可以在浏览器上进行,提供了 Web 版的在线开发,HTML 模版编写,静态文件的上传,数据库的编写的功能。其它的还有日志功能,以及一个自动化的 admin 接口。
缺 点:Web2py 的一个重要限制是它仅与 Python 2.x 兼容。首先,这意味着 Web2py 无法使用 Python 3 的异步语法。如果你依赖于 Python 3 独有的外部库,那么你就不走运了。但是,正在开展使 Web2py Python 3 兼容的工作,并且在撰写本文时它已接近完成
34. Pylons 框架
官 网:
https://docs.pylonsproject.org/projects/pylons-webframework/en/latest/
优 点:Pylons 是一个开放源代码的 Web 应用框架,使用 python 语言编写。它对 WSGI 标准进行了扩展应用,提升了重用性且将功能分割到独立的模块中。Pylons 是最新的 Web 应用框架中的典型,类似于 Django 和 TurboGears。Pylons 受 Ruby on Rails 影响很深:它的两个组件,Routes 和 WebHelpers 是 Rails 特性的 Python 实现。
缺 点:Pylons 已与 repoze.bfg 合并,现在处于仅维护模式。强烈建议新项目从新合并的 Web 框架金字塔开始。
35. Cubes 框架
官 网:
https://pythonhosted.org/cubes/
优 点:Cubes 是一个轻量级的 Python 框架和工具集,用于开发报告和分析应用程序、在线分析处理 (OLAP)、多维分析和浏览聚合数据。它是 Data Brewery 的一部分。
缺点:不再为每个多维数据集提供隐式聚合 record_count。它必须明确定义为聚合:旧的后端架构是有限制的。它只允许使用一个商店,必须在服务器启动之前知道模型,不可能从远程来源获取模型。
36. Dpark 框架
官 网:
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
② 视频
③ 书籍
资源较为敏感,未展示全面,需要的最下面获取
② 简历模板
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!