请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行

请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行,第1张

DjangoDjango是基于中间件的一个大型框架。框架本身的内容相当丰富,基础部分:模版引擎、ORM、表单、路由分发这些标配,还有不少的中间件:登陆、后台管理,这些还是官方中间件,另外还有不少的第三方中间件。关于第三方的我没有详细研究过,质量不太好评论。还有由ROR带起的基于命令的Web开发方式和扩展、还有内建的数据库迁移,基本上你呢想到的Django都有。可以说Django和Python相当匹配,前者是Web开发的万金油,后者是开发领域的万金油。另外Django这个框架本身还有一个专门的基金会,这个基金会是由Django的母公司成立的,估计有不少用这个框架的公司也对期捐助过。框架本身相当活跃,每隔大概8个月就有一个大版本。社区也是相当活跃,官方的Community、非官方(StackOverflow)和IRC(据说IRC是比任何一个开源项目都要活跃)基本上你碰到的问题大家都会有解决或者Workout方案。FlaskFLASK框架本身只包含路由分发,请求和响应的封装和插件系统,在加上作者自己的Werkzeug(处理WSGI)、jinja2(模板引擎)和Flask-SQLAlchemy扩展(Model层),这几个同一个作者的项目构成一个完整的MVC框架。对于Flask本身,一个微框架,这已经足够了,而且它也只能提供这么多。如果你需要表单处理,请安装Flask-WTF;如果你需要基于命令的开发模式,请安装Flask-Script和Flask-CLI(这是一个Flask10的backport模块);如果你要登陆验证,请装Flask-Login;如果你要后台管理,请装Flask-Admin。什么?!你全部都要?请装Django。对Flask就是这么一个框架。这是一个典型的社区项目,作者在实现了一个牛X的核心以后,就撒手交给社区。各个插件的文档分散(虽然Flask曾经出了一本书,试图打通各个插件和Flask关系,但是当需要真正使用的时候,查文档还是需要在不同的ChromeTab里面切换),而且社区插件的质量、支持和活跃度也需要话很大的力气去确认。Flask这个项目毫无疑问是优秀的:完善的官方文档,详细的教程()还有一个牛X的作者作为光环加持(这里可以看到作者有不少应用广泛的项目)。但是和Django完全不在一个应用层面,我会在下一段作出比较和说明。而且Flask这个项目基本已经处于沉睡期,最新的版本0101是2013年发布的,项目的代码仓库也是比较低的活跃度(大概是一个月10次左右的Commit和PR),10的发布从2014年到2016年一直说要发布,一直没有出来。各个插件更新也是停留在2015年中。和Django比较活跃度确实令人捉急。Flask和Django的应用场景鉴于Flask和Django的特点,如果你是开发一个RESTAPI的系统,没有复杂的分层和逻辑的话,Flask会是一个不错的选择,因为框架内建的功能已经足够你完成这个任务;又或者,你是打算实现一个大型的系统,需要自己重新实现大部分插件的内容,Flask也还是不错,因为它足够的简单,能让你快速的读懂和扩展。其他的情况我还是推荐你用回Django。尤其是当你需要安装大量的Flask插件,去实现Django本来就有的功能时,你就应该意识到你需要放弃Flask。当然这只是个人的看法,也没有绝对这一说,主要还是看你想在框架上花费多少的时间。

Python 生态圈有两个现象级的 Web 框架 Flask, Django

两个框架风格迥异, 但是都各自带动了庞大的生态圈, 这得益于二者灵活的扩展能力

本书讲述的是基于 Flask 开发 Web 项目

在对 Flask 框架的各个部分简要分析后, 本书介绍了

表单处理(Flask-WTF)

持久化(Flask-SQLAlchemy, 这货作者就是 Flask 的作者哟)

邮件

配置

一个真实案例: 模型, 用户验证, 角色, 关注, 写template, 写API

# 特点

线程局部变量

我不知道该把这个称作特点还是缺点

至少在Flask的文档中作者明确给出这样的解释: 作为一个码农, 你也许会感到不适, 但我就想这样设计

大部分的 Web 框架, 请求对象是外部注入的, 唯独 Flask 选择了全局 (flaskrequest, flaskg)

这个特点存在意味着你要小心使用这个特性, 否则很容易遇上需要调试大半天的Bug

另外, request 不是那么容易造出来的

不过, 这不是什么大不了的事情

这个顺便波及到测试, 测试的setup 与 teardown, 你必须去营造一个上下文, 关于这点, 书中有讲解如何 *** 作

Route/Template

框架的路由使用的是Werkzeug

Template使用的是Jinja2, 当然不喜欢的话, 用别的也很简单

足够小

Flask 只封装了请求, 路由, 模板这么几个功能

用起来容易, 要写好也得费点脑子涨点经验才行

说穿了也就是一句话:

> The idea of Flask is to build a good foundation for all applications

> Everything else is up to you or extensions

[Ref: What Flask is, What Flask is Not](>

Flask是一个使用Python编写的轻量级Web应用框架,凭借更灵活、轻便、安全且容易上手的特性,成为企业常用的Python框架之一。在完成Web前端、Linux以及MySQL相关的课程之后,专业的杭州Python学习班都会讲解Flask框架知识,以下是整理的相关知识点。

Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收>

以上就是关于请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行全部的内容,包括:请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行、使用flask开发的网站有哪些、Flask框架怎么样,比起Web.py有哪些不同等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9701683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存