V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
FireCat
V2EX  ›  Python

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

  •  2
     
  •   FireCat · 2015-12-06 08:44:46 +08:00 · 14296 次点击
    这是一个创建于 3301 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    39 条回复    2017-09-14 12:17:27 +08:00
    jimzhong
        1
    jimzhong  
       2015-12-06 08:59:18 +08:00
    我是从 Flask 入手的
    laoyuan
        2
    laoyuan  
       2015-12-06 09:07:24 +08:00
    支持 Flask
    MinskyNg
        3
    MinskyNg  
       2015-12-06 09:26:31 +08:00
    我是从 django 入门没多久就转 flask 和 tornado
    c742435
        4
    c742435  
       2015-12-06 09:28:45 +08:00
    Flask 入手+1
    redguy6
        5
    redguy6  
       2015-12-06 10:05:09 +08:00 via Android
    其实可以 flask django 交换着学习
    thinkif
        6
    thinkif  
       2015-12-06 10:18:55 +08:00 via iPhone
    虽然接触不多,倒是觉得学 flask 时确实更适合理解 python
    Hyperion
        7
    Hyperion  
       2015-12-06 10:19:53 +08:00 via Android
    最早从 web.py 和 bottle 入门的是不是很另类 =.=
    realityone
        8
    realityone  
       2015-12-06 10:27:35 +08:00
    反正 flask 写到最后都会变成你自己的 django 2333
    felixzhu
        9
    felixzhu  
       2015-12-06 10:28:47 +08:00   ❤️ 1
    不知道有多少人是真的好好学过 Django 的。。我一直觉得新手应该从大框架入手,这样才能有一个全局的理解
    loading
        10
    loading  
       2015-12-06 10:48:54 +08:00 via Android
    我看着 python 手册,看着 flask 手册,从那个官方微博例子就就完成一个小任务。
    yangzh
        11
    yangzh  
       2015-12-06 10:55:11 +08:00 via iPhone
    flask 比 django 好太多:简单,容易理解,而且功能完备,容易拓展,部署简单。
    nevin47
        12
    nevin47  
       2015-12-06 11:01:08 +08:00
    以前 PHP 用了 4 年,转 Python 一直做机器学习= =
    最近被逼无奈要开发 UI 界面了,选来选去选了 web.py XD

    感觉刚刚够用哈哈
    dalang
        13
    dalang  
       2015-12-06 11:23:10 +08:00
    django 入门很难么?其实从 django 入门也有好处的,对 web 框架涉及到的模块能比较有感知。而且你至少得有个对比,才能真正体会到不同框架各自的优缺点。最后,如果你手上没有很急的项目,只是纯粹的想学习 web 开发,其实从哪个入手并不是多大的事,不要在选择的问题上犹豫太久,赶紧写起来才最重要。
    MrEggNoodle
        14
    MrEggNoodle  
       2015-12-06 11:26:10 +08:00
    每个人都有自己的思维逻辑习惯,你觉得哪个让你舒服就哪个。 Django 很适合。所以我选了 Django 。你在选择之前可以去几个主流框架的的官网看看他们的第一个例子,哪个让你舒服就选它,基本不会有差错。
    kaneg
        15
    kaneg  
       2015-12-06 11:43:33 +08:00
    个人感觉, Flask 是个单纯的 Web 框架, 而 Django 则是一个大而全的 Web 系统。很多时候,前者就足够应付 80%的业务,后者则有种杀鸡用牛刀的节奏,而我们大多数人是用不起牛刀的。
    powergx
        16
    powergx  
       2015-12-06 11:45:37 +08:00 via iPhone
    我就用 flask
    xavierskip
        17
    xavierskip  
       2015-12-06 11:59:13 +08:00
    @realityone 对,我是先学的 flask , flask 确实比 django 简单,可是 flask 的功能也比 django 少, flask 毕竟是微型的 web 框架,很多基本 web 端的实现还是需要第三方插件或者自己写轮子。而 django 都给你准备好了可以直接拿来用的, django 有一些不好的就是耦合太紧密,但是这就是面面俱到的代价。
    zhuangzhuang1988
        18
    zhuangzhuang1988  
       2015-12-06 12:04:05 +08:00
    @felixzhu 对的, 好好搞 django 比 flask 东拼西凑好多了
    current
        19
    current  
       2015-12-06 12:32:32 +08:00
    用 twisted web 的是不是异端。。
    Akagi201
        20
    Akagi201  
       2015-12-06 13:01:14 +08:00
    pyramid -> flask 应该没人跟我路线一样. 打算以后都用 flask 做了.
    jimmy66
        21
    jimmy66  
       2015-12-06 13:02:46 +08:00
    在学 Flask ,然而还没有入门...
    Hipponensis
        22
    Hipponensis  
       2015-12-06 13:24:16 +08:00
    Flask 源码不错,理解之后能明白不少东西。
    qq7171891
        23
    qq7171891  
       2015-12-06 13:34:05 +08:00
    是对的。
    Django 是用于生产环境的一整套解决方案,换句话说,这玩意本质上就是成体系、较为成熟的用于构建网站的解决方案。 Django 有基金会的组织运作和支持。
    Flask 的诞生起初就并非有着构建生产环境成熟解决方案的目标,传言就是因为作者早期跟朋友的一个玩笑弄出来的, Flask 并不建议用于生产环境(虽然我用了),并且 Flask 没有专门的组织和基金会去运作,目前是「野生」状态,版本迭代根据作者的理念以及 Flask 本身的特性,也非常慢。而 Flask 本身的理念就是提供「纯净的核心支持」,一切其他非核心所需组件均由第三方去支持,以扩展的方式引入到 Flask 。

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

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

    微型框架可以帮你学习一些新鲜技术,但 django 省时省力稳定可靠...
    123321
        28
    123321  
       2015-12-07 18:46:14 +08:00
    web.py 诶😁
    strahe
        29
    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
        30
    wingyiu  
       2015-12-08 15:53:08 +08:00
    aiohttp 是不是异教徒?
    fy
        31
    fy  
       2015-12-08 18:19:46 +08:00
    我把 tornado 用到后来用成了 flask/bottle : https://github.com/fy0/fpage

    新人用 flask 绝对好于 Django , Django 有些东西很迷
    icemilk00
        32
    icemilk00  
       2015-12-09 18:18:30 +08:00
    @wingyiu 我也是最开始用的 aiohttp ,哈哈哈,因为初学的时候是看的廖雪峰的教程学的
    infinity1207
        33
    infinity1207  
       2015-12-10 14:26:38 +08:00   ❤️ 1
    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
        34
    julyclyde  
       2015-12-11 21:57:15 +08:00
    Flask 是严格遵守 WSGI 的,而 django 比 WSGI 早,有很多历史包袱
    Flask 很简单, django 很全面,容易让新手迷失方向
    yoa1q7y
        35
    yoa1q7y  
       2015-12-13 22:59:10 +08:00
    @julyclyde Flask 现在在 Python3 能用嘛?
    julyclyde
        36
    julyclyde  
       2015-12-14 14:14:17 +08:00
    @yoa1q7y 不知道哦。我不用 py3
    twhphoenix
        37
    twhphoenix  
       2016-01-06 23:11:11 +08:00
    @qq7171891 「 Flask 比 Django 而言那要轻量级许多。这就意味着 Flask 上手肯定比后者容易啊」
    前半句赞同,后半句不赞同。正因为 Flask 的轻量,要学的东西更多。而且,要学个东西还得慢慢找过去。

    写个 Model ,要学习 SQLalchemy 的文档。想要定制表单的外观,要去看 WTF-Form 的代码。 Flask-Bootstrap 看起来是简化了,我为什么不自己写?
    qq7171891
        38
    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
        39
    geek123  
       2017-09-14 12:17:27 +08:00
    flask 更轻量些,推荐个 flask 教程给您: http://xc.hubwiz.com/course/562427361bc20c980538e26f
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3354 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:28 · PVG 19:28 · LAX 03:28 · JFK 06:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.