推荐学习书目
› 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
geeti
V2EX  ›  Python

python web framework 哪个更适合上手?

  •  
  •   geeti · Jun 3, 2016 · 8391 views
    This topic created in 3812 days ago, the information mentioned may be changed or developed.

    从来没弄过 web application ,想玩玩。貌似非常流行的有 flask , django,pyramid 等。 哪个更适合个人开发者拿来玩玩?

    另外一个问题,这些 framework 都是需要 wsgi 来连接 python 和 httpd 么?

    49 replies  •  2016-06-07 18:00:23 +08:00
    SlipStupig
    SlipStupig
    Jun 3, 2016
    1
    tornado 性能高而且框架轻便
    WangYanjie
    WangYanjie
    Jun 3, 2016
    2
    django 简单,基本包括所有你需要的功能
    YUX
    YUX
    Jun 3, 2016❤️1
    3
    flask 最符合我直觉 先没必要考虑 wsgi 什么的
    可以参考用我这个 Docker 来部署 在你的应用目录建一个 Dockerfile 写上一行
    FROM yuxio/flask-python351
    就能一键部署你的 flask 了.

    https://hub.docker.com/r/yuxio/flask-python351/
    YUX
    YUX
    Jun 3, 2016❤️1
    4
    我之前也尝试用过 Django 我说一下我的感受吧, 就是你要去学习怎么用它. Django 有很多很棒的特性使用起来会很方便(如果你学会了怎么用的话) 可能一个礼拜能入个门
    flask 五分钟入门吧 一礼拜都能起飞了
    ShiHou
    ShiHou
    Jun 3, 2016
    5
    easy : flask
    normal : django
    hard : tornado
    hell : &#*@!(%^*#&@*%&
    clino
    clino
    Jun 3, 2016 via Android
    6
    uliweb
    jamiesun
    jamiesun
    Jun 3, 2016
    7
    没有人提到 twisted+cyclone ,我用的正 high
    simapple
    simapple
    Jun 3, 2016
    8
    还是 django , web 开发该的都有
    aabbccli
    aabbccli
    Jun 3, 2016❤️1
    9
    django: 组件齐全,开箱即用,适合通用网站开发
    tornado: 基于 EPOLL 实现的异步框架,适合做 API 服务
    flask: 没用过
    j3n5en
    j3n5en
    Jun 3, 2016 via Android
    10
    有其他语言后端经验的话 Flask , 0 入门 django ,,,,我是这样觉得的
    zjgsamuel
    zjgsamuel
    Jun 3, 2016
    11
    全部都撸 总有一款适合你~~
    duobei
    duobei
    Jun 3, 2016
    12
    那就全撸一遍,看那个对眼呗
    geek123
    geek123
    Jun 3, 2016
    13
    @geeti

    我们有 flask 和 django 的免费内容提供,在线互动学习的,你可以体验感受一下他们,看哪个更适合你。


    http://www.hubwiz.com/course/?type=Python
    keysona
    keysona
    Jun 3, 2016
    14
    @YUX 受用!
    加上 git 是否比较好?
    配置文件什么的都仍一个仓库,服务器部署好像会方便一点。
    x8888k
    x8888k
    Jun 3, 2016
    15
    @geek123 学完之后放弃了 python 选择 php
    Sharuru
    Sharuru
    Jun 3, 2016
    16
    最容易上手的不应该是 Web.py 么……
    fy
    fy
    Jun 3, 2016
    17
    flask
    flask
    flask
    重要的事情说三遍
    成为老司机之后,我觉得 tornado 挺不错的。
    https://github.com/fy0/fpage
    这是我的 tornado 脚手架项目,做了这么多差不多终于把 tornado buff 到了 flask 的易用性
    所以还是 flask 适合入门
    ipconfiger
    ipconfiger
    Jun 3, 2016
    18
    tornado 并不是 hard, 而是有太多东西需要你自己 DIY 而已
    新手难免就会觉得, 啊, 要我自己写啊?没写过, 怎么办?
    老司机就不一样了, 自己三五分钟十几行代码就解决的事情, 等你配置过去配置过来半天我都写完了, 还费那事干嘛
    lovepython
    lovepython
    Jun 3, 2016❤️1
    20
    你们回答的完全不对啊。

    首先框架来说
    难易程度 django < flask < tornado (个人这么认为, django 因为什么都具备,所以才简单)
    功能完备性 flask = tonado < django
    diy 精神 django < flask = tornado


    再说 wsgi 的问题, wsgi 是 http 请求到你框架的入口,只有 tornado 默认不是这种方式。


    wsgi + 框架(学名是 application ) 是咱一般说的 web 应用。 只有框架的话没啥鸟用(虽然框架自带 wsgi 的服务,但不能用于生产)


    tornado 是特殊形式,不是常规的 wsgi + application,但是也可以转换成常规形式。


    wsgi 是一种协议,具体实现有 Gunicorn , uWSGI , Waitress
    czwen1993
    czwen1993
    Jun 3, 2016
    21
    flask 轻量级
    aljun
    aljun
    Jun 3, 2016 via iPhone
    22
    Jolla
    onestar
    onestar
    Jun 3, 2016
    23
    flask 好用
    xiaomayi0323
    xiaomayi0323
    Jun 3, 2016
    24
    bottle +1
    julyclyde
    julyclyde
    Jun 3, 2016
    25
    基本上就 flask 和 django/ulipad 这两个
    bottle 貌似没有插件机制
    R4rvZ6agNVWr56V0
    R4rvZ6agNVWr56V0
    Jun 3, 2016
    26
    flask 吧 组件和概念不多不少,恰到好处
    honmaple
    honmaple
    Jun 3, 2016
    27
    flask 插件质量有些参差不齐
    yamada
    yamada
    Jun 3, 2016
    28
    有轻微强迫症的表示不喜欢糊一堆插件上去(而且还有不少需要第三方的,质量也不敢有保证),所以学了一周 flask 后转 django 了
    rapospectre
    rapospectre
    Jun 3, 2016
    29
    最快拿来用: flask ;一个 .py 搞定所有(当然 tornado 也可以一个 .py 搞定, 不过入门感觉 flask 更快)。

    有比较完整的目录结构和开发模式的还是 Django 。楼主你如果想写比较大的工程还是先用 Django 吧,目录分层什么的比较清晰。反正我们拿 tornado 、 flask 什么的写大点的工程最后也是自己攒一套跟 Django 一样的目录和功能。
    rapospectre
    rapospectre
    Jun 3, 2016❤️2
    30
    关于 wsgi 你可以参考下我写的文章:

    浅谈 cgi 、 wsgi 、 uwsgi 与 uWSGI : http://www.rapospectre.com/blog/31
    skydiver
    skydiver
    Jun 3, 2016
    31
    @rapospectre 打开以后是个白页
    rapospectre
    rapospectre
    Jun 3, 2016
    32
    @skydiver 啊?我这里打开没啥问题啊。有可能是没加载出来,服务器带宽比较小,见谅
    DaCong
    DaCong
    Jun 3, 2016 via iPad
    33
    我觉得最简单上手的是 web2py ,但是限制太多,太重,用过一段时间后用了 flask
    chaleaoch
    chaleaoch
    Jun 3, 2016
    34
    django
    zhizhongzhiwai
    zhizhongzhiwai
    Jun 3, 2016
    35
    看那么多人,推荐 django 和 tornado , 没想到傻 13 真多!
    linuxchild
    linuxchild
    Jun 3, 2016 via Android
    36
    没有接触别的, django 让我觉得。。。后台几乎不用自己写
    Rand01ph
    Rand01ph
    Jun 3, 2016
    37
    @zhizhongzhiwai 请问有什么为题吗
    kran
    kran
    Jun 3, 2016 via Android
    38
    @clino 难得有人关注呀
    aljun
    aljun
    Jun 3, 2016 via iPad
    39
    Django ,
    Pure88
    Pure88
    Jun 3, 2016
    40
    自己基于 web.py 撸了一个最佳实践,做一个 restful 后台是没什么问题的。
    https://github.com/Yaoxin/improved_webpy
    orm 部分参考了廖大的
    clino
    clino
    Jun 3, 2016
    41
    @kran 我可是仅有的几个贡献者之一啊...呵呵
    kran
    kran
    Jun 3, 2016 via Android
    42
    @clino 如果我还用 python 的话,会选这个框架
    geeti
    geeti
    OP
    Jun 4, 2016
    43
    @rapospectre 谢谢。你的这篇文章我前几天就读过,把*wsgi 的各种区别都了解了。
    ayaseangle
    ayaseangle
    Jun 4, 2016
    44
    想玩下还不如去 rails 。。。。那个 scaffold 真心爽,。。
    shyling
    shyling
    Jun 4, 2016 via iPad
    45
    当然是裸写 wsgi 啦
    lincanbin
    lincanbin
    Jun 4, 2016
    46
    要容易上手,估计只有 bottle 了。
    Geoion
    Geoion
    Jun 4, 2016
    47
    之前写 django 觉得还不错,后来写了 tornado ,卧槽爽爽爽。
    junnplus
    junnplus
    Jun 4, 2016 via Android
    48
    这种问题就好比有没有更合适上的女人,答案就是没有更合适上的,只有想上的。
    geek123
    geek123
    Jun 7, 2016
    49
    @x8888k 这跨度有点儿大。哈哈
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4053 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 112ms · UTC 09:07 · PVG 17:07 · LAX 01:07 · JFK 04:07
    ♥ Do have faith in what you're doing.