推荐学习书目
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 · 7845 views
    This topic created in 3641 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
        1
    SlipStupig  
       Jun 3, 2016
    tornado 性能高而且框架轻便
    WangYanjie
        2
    WangYanjie  
       Jun 3, 2016
    django 简单,基本包括所有你需要的功能
    YUX
        3
    YUX  
    PRO
       Jun 3, 2016   ❤️ 1
    flask 最符合我直觉 先没必要考虑 wsgi 什么的
    可以参考用我这个 Docker 来部署 在你的应用目录建一个 Dockerfile 写上一行
    FROM yuxio/flask-python351
    就能一键部署你的 flask 了.

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

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


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

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

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

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