有人说入门 Python Web 框架最后是从 Flask 入手?

2015-12-06 08:44:46 +08:00
 FireCat

他说想学 Flask 再学其他框架能明白不少东西,新手应先学 flask ,真的对么?

14300 次点击
所在节点    Python
39 条回复
jimmy66
2015-12-06 13:02:46 +08:00
在学 Flask ,然而还没有入门...
Hipponensis
2015-12-06 13:24:16 +08:00
Flask 源码不错,理解之后能明白不少东西。
qq7171891
2015-12-06 13:34:05 +08:00
是对的。
Django 是用于生产环境的一整套解决方案,换句话说,这玩意本质上就是成体系、较为成熟的用于构建网站的解决方案。 Django 有基金会的组织运作和支持。
Flask 的诞生起初就并非有着构建生产环境成熟解决方案的目标,传言就是因为作者早期跟朋友的一个玩笑弄出来的, Flask 并不建议用于生产环境(虽然我用了),并且 Flask 没有专门的组织和基金会去运作,目前是「野生」状态,版本迭代根据作者的理念以及 Flask 本身的特性,也非常慢。而 Flask 本身的理念就是提供「纯净的核心支持」,一切其他非核心所需组件均由第三方去支持,以扩展的方式引入到 Flask 。

这样的背景之下,显而易见 Flask 比 Django 而言那要轻量级许多。这就意味着 Flask 上手肯定比后者容易啊,因为一开始可以避免先去了解其实最后还是要了解的知识。
一个不恰当的比喻,学习 Django 好比学乘法;学 Flask 好比学加法。虽然乘法由加法构成,并且你不可避免的还是要接触复杂的四则运算,但在起点上,加法总是比乘法简单和清晰许多,对于没有任何基础的人而言,适合从这里开始入手。

不过最终,我个人超级认同和喜欢 Flask 的理念(简约核心与三方扩展),故而不仅成了粉,而且用于了生产环境。
tcitry
2015-12-06 14:08:06 +08:00
看起来好像学习使用一个框架很难的样子。。
clino
2015-12-06 14:13:30 +08:00
从 uliweb 入门一直用到现在的冒个泡
http://limodou.github.io/uliweb-doc/zh_CN/index.html
"可重用性,可配置性和可替换性"方面应该是做得最好的框架了
mianju
2015-12-06 15:46:26 +08:00
在学 Flask ,感觉大公司好像很少用 flask ,学 flask 的好处就是可以快速撸出一个项目出来
geeklian
2015-12-07 18:31:11 +08:00
web.py 转 django ,再转 flask ,最后回到 django ……

微型框架可以帮你学习一些新鲜技术,但 django 省时省力稳定可靠...
123321
2015-12-07 18:46:14 +08:00
web.py 诶😁
strahe
2015-12-07 20:20:15 +08:00
flask 学好几乎能做所有的事,再学习一下 Falcon 和 Tornado 更完美了,其他框架可以冲着学习而去,但是使用,前三着完全够用了。我的学习路线是 Django(新人最容易入的坑我也一样)>Flask>Falcon,我现在用后两者,有人觉得 flask 是微框架,很麻烦,其实花点时间好好学学以后,你会发现 flask 是最简单的,而且豪不夸张,很多东西设计得恰到好处。
还有一个推荐 Flask 的,可能大家不是很在意的理由,就是 Flask 的代码比较 Pythonic ,简洁明了,学习过程中哪里搞不懂了随便看一下代码就好了,很多人学 Python 但是不做 web 开发,都专程找来 Flask,requests 等代码来读.
wingyiu
2015-12-08 15:53:08 +08:00
aiohttp 是不是异教徒?
fy
2015-12-08 18:19:46 +08:00
我把 tornado 用到后来用成了 flask/bottle : https://github.com/fy0/fpage

新人用 flask 绝对好于 Django , Django 有些东西很迷
icemilk00
2015-12-09 18:18:30 +08:00
@wingyiu 我也是最开始用的 aiohttp ,哈哈哈,因为初学的时候是看的廖雪峰的教程学的
infinity1207
2015-12-10 14:26:38 +08:00
1. 两个都用过,其实 web 框架本身都比较容易上手, django 相对于 flask 某些方面会严肃一些,例如简单的 hello world ,你也要熟悉 urlpattern, HttpResponse 相关的东西,并且把代码要放到对应的文件中(views.py, urls.py, models.py),而 flask 一个 py 文件、一个函数、一个 @route 就可以搞定了。
2. Django 就像 linux 里的( ubuntu , centos )把所有必要的功能都装备好,而 flask 仅仅提供一个 kernel ,附加功能需要自己装配。
3. 我最终决定把时间投入在 Django 上,是因为 Django 文档很优秀,几乎遇到任何困难都能在官方文档中找到解决方法。
4. 学习 web 框架更多的意义在于你通过学习 web 框架过程中对 web 开发周边知识的扩充( http 协议, html , js , css ……),实际应用中,很少见到有公司单纯用一个 web 框架来支撑一个产品。
5. python 的 web 框架基本上都遵循着 wsgi 的 application ,如果你把某一个 web 框架如何实现 application 以及 middleware ,那么你会收获更多。
6. 它们都很优秀,闭着眼睛选一个就行,不要把时间浪费在选择上面。
julyclyde
2015-12-11 21:57:15 +08:00
Flask 是严格遵守 WSGI 的,而 django 比 WSGI 早,有很多历史包袱
Flask 很简单, django 很全面,容易让新手迷失方向
yoa1q7y
2015-12-13 22:59:10 +08:00
@julyclyde Flask 现在在 Python3 能用嘛?
julyclyde
2015-12-14 14:14:17 +08:00
@yoa1q7y 不知道哦。我不用 py3
twhphoenix
2016-01-06 23:11:11 +08:00
@qq7171891 「 Flask 比 Django 而言那要轻量级许多。这就意味着 Flask 上手肯定比后者容易啊」
前半句赞同,后半句不赞同。正因为 Flask 的轻量,要学的东西更多。而且,要学个东西还得慢慢找过去。

写个 Model ,要学习 SQLalchemy 的文档。想要定制表单的外观,要去看 WTF-Form 的代码。 Flask-Bootstrap 看起来是简化了,我为什么不自己写?
qq7171891
2016-01-07 13:13:45 +08:00
@twhphoenix
显然你会错意思了。 Flask 比 Django 上手显然简单一些,但上手是上手,深入学习是深入学习,不是一回事。我写一个静态页博客, Flask 挂 flask_flatpages ,一个 run.py 就搞定,这叫上手;要仿一下 WP 的功能动到数据库,这是深入。同样的静态博客的需求, Django 就麻烦很多。

而且你 Copy 我的那段话居然掉了一句最重要的「因为一开始可以避免先去了解其实最后还是要了解的知识。 」,我所说的「其实最后还是要了解的知识。 」就是你所说的「写个 Model ……」的这些话。话说那一个自然段你咋拷贝丢掉最重要的~~~??

另外你完全可以自己写, Flask 比 Django 好的另一点在于给你最大的自由度,你不喜欢你可以不用,你愿意自己写就自己写, Django 则约束比较多,可能你不喜欢他的组件还得必须用;可能你想自己写些扩展还写不成。

@yoa1q7y
能用。我现在自己写的网站类似于豆瓣东西,有数据库、表单、登录等模块,完全使用 Python3 。


@yoa1q7y
geek123
2017-09-14 12:17:27 +08:00
flask 更轻量些,推荐个 flask 教程给您: http://xc.hubwiz.com/course/562427361bc20c980538e26f

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241464

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX