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
andyhu
V2EX  ›  Python

Django vs Laravel

  •  
  •   andyhu · 2013-07-04 11:32:29 +08:00 · 15049 次点击
    这是一个创建于 4151 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近想找一个高效简洁的框架用来开发一个定制化的cms,主要需求是可以比较灵活的开发没有过多的限制,开发效率高代码稳健容易维护
    目前锁定两种框架,Python的Django和PHP的Laravel,请用过的V友帮忙分析下各自的优缺点?
    谢谢
    18 条回复    1970-01-01 08:00:00 +08:00
    walnutist
        1
    walnutist  
       2013-07-09 14:29:17 +08:00   ❤️ 3
    我只用过django。不是专业软件攻城师,胡乱弹弹
    2010年下半年为自己所在的一个论坛选型技术框架
    确定了django。

    后来用下来,大体感觉:
    1、开发简单的web应用,django确实挺快的,而且community很成熟,一堆现成的东西可以用。
    2、如果开发相对复杂一些的,就会觉得django自身的功能不够用,或者就是性能不好,于是开始折腾各种插件和各种重新造轮子,痛苦还是有的,不过适应了django的思路就好很多。
    3、一旦提到扩展性,最终还是看Python,我只写过2-3年Java,业余写点前端的JS,后来小十年其实工作已经和开发无关,但我觉得Python挺好上手的,而且语法糖伍的挺好用,比JS强。php……十五年前上学时候用过,总觉得扩展性不够,不知现在如何了。
    4、nginx+uwsgi+django+postgresql+memcached,我觉得这个架构很稳定,我们论坛300万+的帖子,日均200+在线,几乎没出现过什么的大的系统问题。

    最终,尝试回答你的问题:
    1、django的灵活性不错,不够的地方python来补,完全无压力
    2、django本身有些限制,但基本上都可以透过插件或者定制化绕过去
    3、开发效率见仁见智,不过python/django在业界的普及率必然无法和php相提并论,好点的python攻城师都在诸如douban之类的互联网公司呆着呢吧
    4、代码稳健度,django这个项目本身很稳定了,不过要小心社区贡献的一堆插件,质量良莠不齐。
    5、维护性那是团队自己的问题了,和框架无关。
    6、基于django本身已经有几个相对成熟些的CMS了,上www.djangopackages.com找找看。
    6、最终,我当时可以选择django纯粹因为这是一个个人项目,没有任何商业冲突在里面,个人兴趣使然。但楼主既然要做商业化的系统,我认为技术层面的这些问题不是核心,看你打算怎么个投入投入多少吧。
    kidblg
        2
    kidblg  
       2013-07-09 15:02:46 +08:00   ❤️ 1
    @walnutist 可否看看你用django写的论坛? :)
    andyhu
        3
    andyhu  
    OP
       2013-07-09 16:16:48 +08:00
    @walnutist 十分感谢您的回复!我搞PHP六七年了,最近学了下Laravel感觉非常不错,暂时打算用Laravel来写了, Laravel 4非常不错,开发效率高代码结构很优雅,全部基于composer的package来构建,使得所有组件都可以灵活替换,自带的ORM Eloquent被很多资深PHP大牛称之为最好用的PHP ORM。唯一的缺点就是太新了,用户贡献的扩展很少,会有狠多“重复造轮子”的情形,不过对比起来重复学习 Python+Django的成本,感觉这个还是最适合的,如果有足够时间能开发这个cms基础框架的话,打算基于Laravel写一个cms然后开源出来
    ipconfiger
        4
    ipconfiger  
       2013-07-09 16:39:00 +08:00
    Django绝逼没有Flask好用
    shinwood
        5
    shinwood  
       2013-07-09 16:43:03 +08:00
    从 PHP 转战过一段时间的 django,各种不适应,主要不适应是模板这一块。
    coffeego
        6
    coffeego  
       2013-07-09 21:37:11 +08:00
    感觉django的有些语法确实不如rails,padrino这类ruby框架来的简洁和优美,个人之见哈
    walnutist
        7
    walnutist  
       2013-07-09 21:43:43 +08:00
    @shinwood 是的,django自己的模板就是垃圾。难用先不说,速度实在让人抓狂。
    我后来是混用的jinja2+django原生模板
    walnutist
        8
    walnutist  
       2013-07-09 22:04:07 +08:00
    @kidblg 恩,发现v2ex居然没私信功能……
    我们的论坛没备案,so……不太方便公布地址
    kidblg
        9
    kidblg  
       2013-07-10 08:31:55 +08:00
    @walnutist 我昨天也准备发私信,但是没找到,只好在这里留言了。 :) 我也准备用django写个论坛,以后多向你请教。:D
    walnutist
        10
    walnutist  
       2013-07-10 09:44:31 +08:00
    @kidblg 微博上找我吧,AT眉间尺先生
    66beta
        11
    66beta  
       2013-07-10 10:09:07 +08:00
    Laravel 4 真心不错,除了文档简陋、学习资源少
    Laravel 3和4,完全不同的东西

    Laravel最大的诟病,应该就在于composer之后,真个框架有25M之大,文件数量貌似好几千。这也是好多人死守CI的缘故。

    不过作者号称这并不影响性能~~
    kiancyc
        12
    kiancyc  
       2013-07-10 10:31:35 +08:00
    @66beta
    对的,因为引入了Symfony的包,symfony比较庞大,速度也比较慢。
    不过Laravel4是用到的时候才加载组建,所以性能还不错。
    那个文档实在太简单了,都没有什么例子,全靠自己框架的经验来领悟的。
    66beta
        13
    66beta  
       2013-07-10 10:38:42 +08:00
    @kiancyc
    最喜欢CI的文档,索引很方便,而且有都有举例
    但是L4的文档,没距离就算了,还不全,真的就是个guide而已,不能算文档

    像我这样的新手,横竖都不会知道blade里面引入css要这样:
    {{ HTML::style('css/bootstrap.css') }}
    文档里面没有啊 T..T
    Rabbit52
        14
    Rabbit52  
       2013-07-15 02:20:29 +08:00
    @kiancyc
    @66beta
    就是啊,首页的文档感觉框架很精简,但是看了API之后居然有那么多功能,现在就只能搜到些国外网站上写的例子。真心希望早日完善文档啊
    PrideChung
        15
    PrideChung  
       2013-07-15 02:59:12 +08:00
    @66beta
    @Rabbit52
    Laravel3 的文档其实挺好的,不比CI差,作者Taylor也说写代码时文档先行是军规,结果到了Laravel4 就长歪了……

    有些没有写入文档的API其实还是能查到的,不过就没写得那么仔细了。
    http://laravel.com/api/
    Rabbit52
        16
    Rabbit52  
       2013-07-15 10:58:10 +08:00
    @66beta
    @kiancyc
    @PrideChung
    话说大家有没有推荐的 laravel 4相关教程文章或者网站勒~?
    PrideChung
        17
    PrideChung  
       2013-07-15 14:32:57 +08:00   ❤️ 1
    Rabbit52
        18
    Rabbit52  
       2013-07-15 14:39:25 +08:00
    @PrideChung WoW!thanks very much!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:31 · PVG 09:31 · LAX 17:31 · JFK 20:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.