求推荐简单好用的 app 后台框架,最好是 python 的 - 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
scenix
V2EX    Python

求推荐简单好用的 app 后台框架,最好是 python 的

  •  
  •   scenix 2015-01-19 17:52:53 +08:00 17283 次点击
    这是一个创建于 3986 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近开发个app,和后台的交互就是简单的json来json去的那种。
    现在后台哥们用的是php的laravel框架。
    大家觉得什么框架好使呢?Python的有木有?

    47 条回复    2015-01-23 18:22:58 +08:00
    R4rvZ6agNVWr56V0
        1
    R4rvZ6agNVWr56V0  
       2015-01-19 17:54:27 +08:00
    flask
    tornado
    sujin190
        2
    sujin190  
       2015-01-19 17:56:45 +08:00
    laravel 好重,tornado+1
    kenneth
        3
    kenneth  
       2015-01-19 18:09:46 +08:00
    推荐phalcon,用php比用python稳定
    nomaka
        4
    nomaka  
       2015-01-19 18:19:43 +08:00
    长连接tornado webapi 一堆
    shajiquan
        5
    shajiquan  
       2015-01-19 18:24:59 +08:00
    tornado +1。
    jamiesun
        6
    jamiesun  
       2015-01-19 18:26:02 +08:00
    bottle一个文件搞定,多简单啊。

    说实话用了tornado三年多,感觉太不简洁。除非业务场景需要才用。
    wph95
        7
    wph95  
       2015-01-19 18:26:14 +08:00
    “用php比用python稳定” WTF 这什么神逻辑
    只是简单提供restful api 用 flask
    需要点复杂功能的 django
    tornado 也不错
    ooh
        8
    ooh  
       2015-01-19 18:26:50 +08:00
    slim
    FindHao
        9
    FindHao  
       2015-01-19 18:27:35 +08:00 via Android
    tornado不错,很简单,看一份简单的代码就明白了,我正在学习。
    roricon
        10
    roricon  
       2015-01-19 18:34:05 +08:00   1
    django + djangorestframework
    或者
    flask + flask-restless
    yueyoum
        11
    yueyoum  
       2015-01-19 18:39:32 +08:00   2
    强烈推荐 Django

    替换组建: 基于redis的 session 和 cache, 性能保证
    数据库上 postgresql , array, json 类型爽爆,

    并且 django 1.8 ORM 还支持 array,

    json 也简单, 自己写 migration.RunSql 去alter column 和 create index

    自带 JsonResponse

    框架自带多数据库处理, 读写分离都自动搞定了。



    我也成功的 给django 加 了 websocket 支持,

    总之一句话: django ,不折腾,方便好用
    loading
        12
    loading  
       2015-01-19 18:45:15 +08:00 via Android
    tornado,个人建议看看node.js
    BiggerLonger
        13
    BiggerLonger  
       2015-01-19 18:52:28 +08:00
    Falcon, 够快
    abelyao
        14
    abelyao  
       2015-01-19 19:07:03 +08:00
    @BiggerLonger 是指 Phalcon 吗?
    maikcn
        15
    maikcn  
       2015-01-19 19:52:25 +08:00 via Android
    flask
    pkubuntu
        16
    pkubuntu  
       2015-01-19 19:59:23 +08:00
    django 就挺好的,可以结合tornado使用,作为一个wsgi的后端
    arkilis
        17
    arkilis  
       2015-01-19 20:06:06 +08:00
    django还不折腾?
    ipconfiger
        18
    ipconfiger  
       2015-01-19 20:12:41 +08:00
    @yueyoum 能换的都换了,还不折腾?
    yakczh
        19
    yakczh  
       2015-01-19 20:16:27 +08:00
    clino
        20
    clino  
       2015-01-19 20:18:25 +08:00 via Android
    uliweb
    janxin
        21
    janxin  
       2015-01-19 21:24:11 +08:00
    http://falconframework.org/ 除了api就没其他额外功能了
    wenbinwu
        22
    wenbinwu  
       2015-01-19 21:31:52 +08:00
    用什么框架啊,直接werkzeug
    yueyoum
        23
    yueyoum  
       2015-01-19 21:37:22 +08:00
    @ipconfiger

    pip install xxx
    然后在 django的settings 写一点配置

    这叫折腾?
    leopku
        24
    leopku  
       2015-01-19 21:43:25 +08:00
    rails / padrino 不折腾
    skywalker
        25
    skywalker  
       2015-01-19 22:01:37 +08:00
    正儿八经用过的只有falcon和flask,这两个里面我推荐flask。flask是简约而不简单,falcon真的有点简陋,很多东西都没有,而且正经维护的好像只有一个人,反馈的issue半年都没动静……
    daoluan
        26
    daoluan  
       2015-01-19 22:16:14 +08:00
    @pkubuntu 有了 django 还需要 tornado 的么?有什么场景需要两者都出现~~
    xgdyhaiyang
        27
    xgdyhaiyang  
       2015-01-19 22:25:21 +08:00
    web.py + sqlalchemy
    evlos
        28
    evlos  
       2015-01-19 23:01:59 +08:00 via iPhone
    Tornado +
    tongqi
        29
    tongqi  
       2015-01-19 23:42:48 +08:00
    @yueyoum django使用postgresql的话,效率怎么样,跟mongo比。还有在admin里面这种array, json字段的显示问题好解决么?
    tongqi
        30
    tongqi  
       2015-01-19 23:47:26 +08:00
    @yueyoum 前段时间看到SwampDragon这个realtime扩展还挺好用的
    wingyiu
        31
    wingyiu  
       2015-01-19 23:47:43 +08:00
    @daoluan django+gevent+gunicorn吧...
    withinthefog
        32
    withinthefog  
       2015-01-19 23:53:36 +08:00
    sails.js
    我不是来踢馆的...真的...
    Zuckonit
        33
    Zuckonit  
       2015-01-20 09:44:12 +08:00
    @jamiesun bottle + gevent
    fantasyczl
        34
    fantasyczl  
       2015-01-20 09:52:36 +08:00
    flask +1
    yueyoum
        35
    yueyoum  
       2015-01-20 09:52:50 +08:00
    @tongqi

    django 用 postgresql 话, 一定要用连接池, 比如 pgbouncer 就够简单有效
    因为 postgresql会为每个链接创建一个进程, mysql是线程

    所以频繁建立/断开链接 对 postgresql 的性能影响较大。 而且过多的worker 进程也会占用更多的内存


    你说的效率 是 性能,还是开发效率?

    我有个项目全部用的mongodb, 主要是mongodb不支持事务,这是个硬伤!

    所以后来开始学习 postgresql。
    (当初上mongodb也是因为 mysql对 array, dict, json 这样的没有支持。
    后来知道 postgresql 支持这些, 所以就关注了postgresql)

    性能: 看这篇文章 http://blogs.enterprisedb.com/2014/09/24/postgres-outperforms-mongodb-and-ushers-in-new-developer-reality/

    开发: 还是RDBMS + redis 好用。
    你觉得直接去操作mongodb很方便舒心? (时间旧了,一个document里有什么字段都忘了吧)


    而且 django 自身提供的组件和功能足够多,社区足够大, 你在github上 watch 几个热门项目就知道,django的开发是有多活跃。

    所以 django 的开发效率是很高的。

    admin 里面 json, hstore, array 是以 TextField 形式显示的,
    也就是 array[1,2,3] 显示就是 “1,2,3”
    json, 就是 序列化后的 字符串
    surefire
        36
    surefire  
       2015-01-20 12:13:53 +08:00
    Django
    yetone
        37
    yetone  
       2015-01-20 12:47:19 +08:00
    @daoluan
    django 是个纯粹的 web framework ,而 tornado 则是个 web server 其 web framework 只是附加的功能而已。所以你用一个 web framework 来开发一个 web app 的时候难道不用一个 web server 来部署启动?这就是 django + tornado 一起用的一种情况
    guotie
        38
    guotie  
       2015-01-20 12:54:31 +08:00
    golang
    leejaen
        39
    leejaen  
       2015-01-20 13:34:03 +08:00
    一个Django 全包,折腾那么多干什么。
    xiaket
        40
    xiaket  
       2015-01-20 15:07:28 +08:00
    @yueyoum 实话实说, 真挺折腾的... 要换这么多, 不如找个微型框架往里面加了...
    MForever78
        41
    MForever78  
       2015-01-20 15:51:43 +08:00
    django 都嫌折腾的话,也没啥好推荐了
    yueyoum
        42
    yueyoum  
       2015-01-20 15:57:22 +08:00
    @xiaket

    你没好好用过django 吧。

    就像
    @MForever78 说的, 如果连django 都嫌折腾, 那也无话可说了。


    你觉得要换的多,可以不换啊。那些东西仅仅是处于性能考虑才换的。
    你找个微型框架,什么都自己加, 这才是不折腾?
    ivenvd
        43
    ivenvd  
       2015-01-20 16:22:10 +08:00
    @yueyoum 很想知道你是拿什么跟 Django 比才得出这结论的…… LZ 的需求的重点显然是快速上手开发小型项目,而不是在谈哪个功能全,不知道你又是扯性能、又是扯数据库的干嘛……

    就上手而言,Django 需要:
    1. 读 Django 那个晦涩的文档。
    2. pip install django
    3. django-admin.py startproject mysite
    4. 读文档修改各种配置文件。
    5. 读文档开始编程。
    6. python manage.py runserver

    而随便一个轻量级框架,比如 Flask,只需要:
    1. pip install flask
    2. 读文档开始编程。
    3. ./app.py

    结论无需多说。


    另外个人推荐 padrino。Flask 可用的积木太少了,质量也一般般。而 padrino 则和 Rails 共享大量的 gem,可轻可重,用来做 API Server 很不错。
    xiaket
        44
    xiaket  
       2015-01-20 16:53:14 +08:00
    @yueyoum 1. 用过; 2. 我没嫌Django折腾, 只嫌Django重, 我是嫌你折腾...
    yueyoum
        45
    yueyoum  
       2015-01-20 17:26:33 +08:00
    @ivenvd
    @xiaket

    我学的第一个框架就是 Django, 后来也和你们一样,觉得django重,
    于是开始用其他框架, web.py, bottle, cherrypy

    重度使用过bottle, 期间那才叫折腾, 项目上了规模,很多东西都缺,社区没有良好的作品,
    只能自己撸轮子, 反而很拖速度

    甚至bottle和 一个session插件结合的时候,再某些情况 无法运行,会报错。
    这一点 bottle 官方已经merge了我贡献的代码。


    对,这些框架,上手很快, 我做一些http server 测试功能的 也会用bottle,
    但不要因为上手快就说 上手慢的不好,

    我提的那些东西,就是为了提前反驳很多人可能会说的言论:
    django慢,orm慢,模板慢, 但其实是没深入用django而已。
    tongqi
        46
    tongqi  
       2015-01-21 14:11:27 +08:00
    @yueyoum
    感觉django针对网站开发,集成了很多有用的轮子,像通用视图、用户验证系统、session、评论、分页等
    但是写api服务的话,上面的就用不着了,有什么好的推荐,django rest framework吗?
    piaChai
        47
    piaChai  
       2015-01-23 18:22:58 +08:00
    你们楼上的谈了半天,一点有用的东西都没有。
    把你们上面的说过的框架全部搞定不好吗
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2975 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 239ms UTC 13:35 PVG 21:35 LAX 05:35 JFK 08:35
    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