有人说入门 Python Web 框架最后是从 Flask 入手? - V2EX
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 14744 次点击
    这是一个创建于 3605 天前的主题,其中的信息可能已经有所发展或是发生改变。

    他说想学 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     Solana     2553 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 02:19 PVG 10:19 LAX 19:19 JFK 22:19
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86