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
1989922yan
V2EX  ›  Python

大家谈谈自己所用的 py 框架感想

  •  
  •   1989922yan · 2014-12-05 08:16:12 +08:00 · 18908 次点击
    这是一个创建于 3675 天前的主题,其中的信息可能已经有所发展或是发生改变。
    框架列表: http://codecondo.com/14-minimal-web-frameworks-for-python/

    先上班,稍后补充自己的。
    54 条回复    2014-12-23 11:04:41 +08:00
    crazyxin1988
        1
    crazyxin1988  
       2014-12-05 08:48:48 +08:00
    刚入python,是看了django 根据官方文档写了一下小例子
    后来发现了flask,开始学习,然后写小东西,大爱,用flask写了自己的blog
    继续深爱中
    guoqiao
        2
    guoqiao  
       2014-12-05 09:16:31 +08:00
    flask适合初学上手以及喜欢 diy 的人.
    Django 适合喜欢 all in one且不爱折腾的人.
    clino
        3
    clino  
       2014-12-05 09:16:39 +08:00
    uliweb: 可重用性,可配置性和可替换性
    maikcn
        4
    maikcn  
       2014-12-05 09:20:22 +08:00
    也是刚转入 Python
    接手的项目是用 Django 写的,admin 简直是企业站的好帮手
    目前用 Flask 写一些小东西,接口调用和数据库查询之类的,上手容易插件也丰富
    前几天简单看了下 Pyramid,感觉有点 Java 框架的味道...
    hustlzp
        5
    hustlzp  
       2014-12-05 09:30:17 +08:00
    Flask党。

    需要多折腾,慢慢积累出适合自己开发的工程结构。
    isaced
        6
    isaced  
       2014-12-05 09:37:11 +08:00
    用了会 Django,喜欢这种开箱即用的感觉,不过学习曲线稍陡,熟悉了一定很给力。
    EPr2hh6LADQWqRVH
        7
    EPr2hh6LADQWqRVH  
       2014-12-05 09:45:15 +08:00
    Bottle.py
    有许多编码相关的问题,还有同时兼容py2和py3造成的问题
    不过好处是代码简洁易懂,可控性高,有啥问题能自己搞定
    yakczh
        8
    yakczh  
       2014-12-05 09:51:35 +08:00
    用torando写过一个小后台,觉得一个请求一个类,这种方式很简单明了,而且权限处理也方便,如果在原来的操作上要增加一个权限,就继承相应的类就可以了
    happywowwow
        9
    happywowwow  
       2014-12-05 09:51:38 +08:00
    在学django中
    有啥不会就看文档 看源码
    通用模板的源码写的很清晰 插件啥的还没深究
    模板系统对于我这前端渣渣分不清好坏(求指教)
    用了taggit django-bootstrap-markdown这两个 插件
    搭自己的博客ing
    xiaket
        10
    xiaket  
       2014-12-05 09:55:04 +08:00
    没有人用bottle.py咩? 用起来很舒服啊, 特别轻, 上手特别快.
    lincanbin
        11
    lincanbin  
       2014-12-05 10:07:27 +08:00
    bottle 简单易拓展
    tornado 强大
    1989922yan
        12
    1989922yan  
    OP
       2014-12-05 10:31:35 +08:00
    @crazyxin1988
    @guoqiao
    @hustlzp
    @xiaket
    @lincanbin

    hi,各位都是用 Flask 和 bottle 的,我有用这两个做过简单的事情。
    Flask 底层使用了工具库 werkzeug,我感兴趣这个
    bottle 是 全python标准库搞定,我感兴趣这个

    两个问题:
    1. Flask 和 bottle 版本号没有到 1,各位可有担心过嘛?
    2. 希望知道,是否有在生产环境的 案例?
    crazyxin1988
        13
    crazyxin1988  
       2014-12-05 10:34:55 +08:00   ❤️ 1
    不用担心
    精品出现 都需要时间 你可以直接发邮件问问Flask作者啊 为啥还不出1.0 还在酝酿什么呢
    1989922yan
        14
    1989922yan  
    OP
       2014-12-05 10:34:59 +08:00
    @guoqiao
    @isaced

    django,的确好用,也可用于生产环境,社区好,文档好
    值得入手
    django 的 ORM 绝对是亮点,涉及元编程

    问题:
    1. django 如果自己提供 django插件,是否难度很大?
    lincanbin
        15
    lincanbin  
       2014-12-05 10:35:35 +08:00   ❤️ 1
    @1989922yan 有生产环境实例,但是不是个人项目不便公开,跑了大半年没发现有什么问题
    1989922yan
        16
    1989922yan  
    OP
       2014-12-05 10:36:05 +08:00
    @clino

    兄弟说的这个最感兴趣,新见框架,我去试试
    如果兄弟能详细说说,就更感谢了
    1989922yan
        17
    1989922yan  
    OP
       2014-12-05 10:37:43 +08:00
    @lincanbin
    @yakczh

    tornado 高性能,后面有大佬做靠背,的确爽
    也有tornado被高估的成分在里面
    1989922yan
        18
    1989922yan  
    OP
       2014-12-05 10:48:05 +08:00
    clino
        19
    clino  
       2014-12-05 10:54:31 +08:00   ❤️ 1
    @1989922yan uliweb其实不新,比flask还要早,是个很棒的框架,我一直用,感觉"可重用性,可配置性和可替换性"这几方面确实做得很棒

    文档: http://limodou.github.io/uliweb-doc/zh_CN/index.html
    代码: https://github.com/limodou/uliweb
    邮件列表: http://groups.google.com/group/uliweb
    论坛兼demo站点: http://uliweb.clkg.org
    QQ讨论组: 162487035

    有问题可以来邮件列表问,我一般都是去邮件列表的,去QQ群也可以
    CoX
        20
    CoX  
       2014-12-05 11:33:57 +08:00
    用tornado做过小项目
    kutata
        21
    kutata  
       2014-12-05 12:07:55 +08:00
    virusdefender
        22
    virusdefender  
       2014-12-05 13:34:32 +08:00
    喜欢django 写后台不错 自带的模板和form很少用~
    cbsw
        23
    cbsw  
       2014-12-05 13:34:36 +08:00   ❤️ 5
    Django 的 MVC(自称MTV) 拆分的很独立,例如模板没有太多的 Python 复杂的语法,可以方便前端人员,另外所谓的 Battery-Included ,里面很多实际项目中用到的功能,本身这些 battery 质量也比较高,大多数时候不需要再去寻找第三方库,很适合大项目,而且最近 1.7 已经自带 Migration 功能了,我觉得对于5人以上的团队用Django非常合适。但缺点也正是大而全,所以为了做到这些,做了不少让步,整体也比较臃肿,要完全熟悉需要花较多时间(文档1000多页)

    Flask 虽然还没到1.0,但质量已经非常可靠了,看V站上招聘贴有不少创业公司在用,所以生产环境完全没问题。相对于 Django 而言,Flask 就显得非常灵活了,各部分的设计很干净简洁,很符合 Python 哲学。因为本身是微框架,所以上手很容易,文档也写得非常清晰(官网看起来相当清爽啊)。因为很灵活,不自带各种 battery,所以第三方的扩展非常丰富,但也造成了库的质量参差不齐,选择时需要花一定的时间评估,一旦入了某个扩展的坑,出问题了请随时做好撸起(袖)管子自己开干的觉悟。对于小团队来说,Flask 非常合适,招几个精通 Flask 的猿,比如我(开玩笑的,算不上精通),或者只是有一定的了解就可以,因为培养起来也很快,然后集体开撸(微框架很容易全方位的掌握),也不用把前端后端分得清清楚楚。一直听说 pocoo 小组写得代码非常棒,想认真地读读,可惜一直没有时间静下来好好研究 [Sigh]

    Bottle 又是一个瓶子(Flask是烧瓶,话说以前一直以为是朝天椒的),单文件的微框架,比 Flask 更适合用来玩,但据我所知还没有生产项目是用 Bottle 做的,都是个人业余项目。因为单文件所以项目连同 bottle.py 一起随便往服务器上一扔,部署非常方便。作为框架最基本的东西也都有,有啥问题直接在 bottle.py 里翻源码就行,对于学习 Web 开发来说非常合适,可以从中了解那个经典的洋葱是怎么被一层层剥开的

    至于其它框架,由于个人精力有限,没接触过
    1989922yan
        24
    1989922yan  
    OP
       2014-12-05 13:56:00 +08:00
    @clino

    的确是,出现时间更早,我觉得还是大家的活跃度不够
    1989922yan
        25
    1989922yan  
    OP
       2014-12-05 14:02:37 +08:00
    @cbsw

    牛B。已经非常详细了。

    django对数据库的1.7新添加也是一个亮点,个人感觉,django已经能对比 代码与数据库表 结构之间差别,然后update了。

    bottle吸引我的原因,的确是他的 一个文件。完全是牛逼的学习材料。

    flask 的话,简洁好用。其实我想说,如果我web.py的作者没有被迫害离开,绝对web.py了。
    zhouquanbest
        26
    zhouquanbest  
       2014-12-05 14:42:03 +08:00   ❤️ 1
    以前用Tornado写自己的小项目 Flask和Quixote写正式的
    现在用Tornado写正式 感觉就是你必须得为异步方式提前做性能优化

    比如SQL部分 想用ORM 就得解决异步问题 需要用Celery来分离之
    1989922yan
        27
    1989922yan  
    OP
       2014-12-05 15:32:35 +08:00
    @virusdefender

    同样。
    我也只用了django本身的 admin。
    这里涉及 元编程。可以入。
    zenliver
        28
    zenliver  
       2014-12-05 15:51:25 +08:00
    感想, 就是不好用
    n37r06u3
        29
    n37r06u3  
       2014-12-05 15:56:02 +08:00
    一直用django 现在写电商
    vaneoooo
        30
    vaneoooo  
       2014-12-05 15:58:28 +08:00
    Django跟到1.3版本弃之

    转Uliweb
    jjx
        31
    jjx  
       2014-12-05 16:01:26 +08:00
    @cbsw 我们就在生产环境的webserver用bottle+gevent, 不过主要提供restful接口
    clino
        32
    clino  
       2014-12-05 16:26:15 +08:00
    @vaneoooo 握手
    其实我没怎么用过其他框架, 你能不能比较一下 uliweb 和 django 的优缺点?
    likebeta
        33
    likebeta  
       2014-12-05 18:49:12 +08:00
    为嘛没有twisted的
    Ricardoli
        34
    Ricardoli  
       2014-12-05 21:26:45 +08:00
    @likebeta 比起前面提到的那几个,感觉文档和资料不多。。。
    tftk
        35
    tftk  
       2014-12-05 22:03:56 +08:00
    用 django,会用,能写,但是学不会。
    mathgl
        36
    mathgl  
       2014-12-05 22:47:45 +08:00   ❤️ 1
    一直在用 cyclone, based on twisted.
    evlos
        37
    evlos  
       2014-12-05 22:49:22 +08:00 via iPhone
    Tornado 党表示写顺手了所以默认都用它,但是 Flask 也很不错哒
    wenbinwu
        38
    wenbinwu  
       2014-12-05 22:50:41 +08:00
    公司有自己的framework,之前用django
    现在学框架就直接看代码,比文档来的快多了
    crossmaya
        39
    crossmaya  
       2014-12-05 23:29:59 +08:00   ❤️ 1
    我是一开始使用tornado,后来开始flask +gevent ,一般项目我都会这么使用,没有特殊需求的话,django一直没看过,最近也打算学习一下
    janxin
        40
    janxin  
       2014-12-06 09:48:55 +08:00
    一直用flask,感觉非常不错,但是flask的作者貌似开坑去玩Rust了,不知道Flask的后续更新会如何。不过现在也足够用了
    ericFork
        41
    ericFork  
       2014-12-07 01:22:04 +08:00
    大的用 Django
    小的用 bottle
    1989922yan
        42
    1989922yan  
    OP
       2014-12-09 11:47:10 +08:00
    @likebeta 同样觉得奇怪。。。
    为啥没有twisted?
    1989922yan
        43
    1989922yan  
    OP
       2014-12-09 11:48:07 +08:00
    @mathgl
    哦哦,第一个听的框架,喵喵去
    1989922yan
        44
    1989922yan  
    OP
       2014-12-09 11:49:27 +08:00
    @janxin 还是觉得版本号太低,真的就恶心了。。。
    pqrocky
        45
    pqrocky  
       2014-12-11 18:00:02 +08:00   ❤️ 1
    web.py算不
    daiv
        46
    daiv  
       2014-12-13 22:03:26 +08:00
    @pqrocky 我也还在用 web.py ,考虑要不要转别的呀
    daiv
        47
    daiv  
       2014-12-13 22:13:29 +08:00
    @clino 觉得uliweb的资料有点小乱 google 、github、uliweb.clkg.org 都有。
    希望能够集合一个地方。(参考ssdb)
    我有准备开始尝试 uliweb。
    谢谢
    clino
        48
    clino  
       2014-12-13 22:33:44 +08:00
    @daiv uliweb.clkg.org 可以看作是一个demo站点,那上面的教程是limodou和hejiasheng搞过几次uliweb培训留下的,我觉得文档看 http://limodou.github.io/uliweb-doc/zh_CN/index.html 就可以了,之前的几个培训教程这个文档里也有整理
    daiv
        49
    daiv  
       2014-12-14 20:33:16 +08:00
    @clino 一直以为你是 limodou
    clino
        50
    clino  
       2014-12-14 22:00:33 +08:00
    @daiv 我只是一个 uliweb 的老用户.搞一个web框架是很不容易的,我木有那个技术实力,从经常刷 v2ex 上看我也木有那个专注力...
    limodou看起来有 v2ex 帐号的, 不过从注册时间上看,可能是我当时在 http://uliweb.clkg.org/forum/1/31 上提过 v2ex 以后注册的
    daiv
        51
    daiv  
       2014-12-14 22:48:02 +08:00
    @clino 我一直用 web.py ,小东西。
    考虑要不要尝试 uliweb 呢
    clino
        52
    clino  
       2014-12-14 22:57:50 +08:00
    @daiv 可以先试试看
    有问题可以在google groups 或者 QQ 群里问 limodou ,一般来说都能比较快的得到解答
    我之前反馈的一些bug或者建议, 一般来说也是比较快就被处理了
    tiant167
        53
    tiant167  
       2014-12-15 14:02:44 +08:00
    一直再用django,admin控制台很方便,对于一些有后台功能的系统来说省了一部分工作。平时也用tornado,最近想看下flask呢
    pqrocky
        54
    pqrocky  
       2014-12-23 11:04:41 +08:00
    @daiv 在考虑试试django
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:42 · PVG 06:42 · LAX 14:42 · JFK 17:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.