|      1mansur      2016-12-05 16:22:37 +08:00 django | 
|      2gogohigh      2016-12-05 16:29:44 +08:00 tornado | 
|  |      3icedx      2016-12-05 16:30:01 +08:00 via Android  3 Flask 不服憋着 | 
|  |      4ipconfiger      2016-12-05 16:31:32 +08:00 引战贴, 火钳流明 | 
|      5winniesi      2016-12-05 16:31:39 +08:00 前三楼齐了,看你怎么选 | 
|  |      6Kilerd      2016-12-05 16:33:12 +08:00 via iPhone  2 我选 Flask ,不服就自己想到服。 | 
|  |      7lairdnote      2016-12-05 16:34:00 +08:00  1 flask | 
|  |      8hack      2016-12-05 16:53:04 +08:00  1 flask+1 | 
|      10yrq110      2016-12-05 16:56:16 +08:00 via iPhone flask | 
|  |      11pimin      2016-12-05 16:57:12 +08:00 via Android uliweb💣 | 
|  |      12sensui7      2016-12-05 17:36:32 +08:00 via iPhone php ,还有谁不服 | 
|  |      13geek123      2016-12-05 17:54:08 +08:00  1 小项目还是 flask 吧。 | 
|      14qweweretrt515      2016-12-05 17:55:02 +08:00 django | 
|      15qweweretrt515      2016-12-05 17:55:38 +08:00 django +1 | 
|  |      16smallaccount      2016-12-05 17:56:36 +08:00  1 Flask | 
|  |      17imcocc      2016-12-05 18:02:24 +08:00 via iPhone bottle 有人用过没 | 
|  |      18ruter8      2016-12-05 18:11:53 +08:00  1 目前用过 Django 和 Flask , Django 算是一步到位吧, Flask 可以各种扩展。看你需求来选吧,只是做一个 RESTful API 的话,用 Flask 就够了,要做大一些的项目, Django 功能更齐全。 | 
|  |      19xrlin      2016-12-05 18:13:15 +08:00 via iPhone Django ,大而全 | 
|  |      20asd103      2016-12-05 18:25:47 +08:00 via iPhone  1 Flask+1 | 
|  |      21misaka19000      2016-12-05 18:44:25 +08:00 via Android PHP +1 | 
|  |      22yjmade      2016-12-05 18:52:52 +08:00 odoo | 
|      2328ms      2016-12-05 18:56:33 +08:00 via iPhone django 套路熟悉了之后非常方便, admin 模块不容小视。 | 
|  |      24anjunecha      2016-12-05 19:05:11 +08:00 via iPhone 严肃点做就 tornado | 
|      25ke1e      2016-12-05 19:21:19 +08:00 via Android  1 Flask 爱咋咋地 | 
|  |      26asd103      2016-12-05 19:22:26 +08:00 @misaka19000 R U Serious ? PHP ? | 
|      27chaichaichai      2016-12-05 19:52:42 +08:00 tornado | 
|  |      28NaVient      2016-12-05 19:53:12 +08:00  1 我用 flask 加扩展到最后都怀疑自己用的是 django  手动滑稽 | 
|      29keysona      2016-12-05 20:04:48 +08:00 django 大而全。 flask 小而精。 说真的, flask 可以学到很多东西。 之后,用 django 可以节省很多时间。 所以,学习的话 flask 入手。 反正前三楼说的都要学。 | 
|  |      30FindHao      2016-12-05 20:05:37 +08:00 via Android 习惯了 tornado | 
|  |      31windfarer      2016-12-05 20:07:17 +08:00 via Android aiohttp.web | 
|      32jimzhong      2016-12-05 20:23:14 +08:00 看你的需求,小项目有多小? Django 五脏俱全, Flask 需要很多第三方扩展。 | 
|  |      33zhuangzhuang1988      2016-12-05 20:33:32 +08:00 django .. 别作死用别的。。 | 
|  |      34tonghuashuai      2016-12-05 20:38:01 +08:00  1 我还是推荐 Tornado Flask 一直说自己很优雅,但是我觉得很多地方用起来并不优雅,举几个例子: 主要觉得不好的地方在于 view 是使用函数实现而不是类 1. 在一个函数里面如果要同事处理 get 和 post 请求,就要使用 if 判断, if request.method == 'POST': pass elif request.method == 'GET': pass 这很明显不够优雅啊,应该分开处理啊, Tornado 用类来实现 view GET 和 POST 分别用不同的函数处理,多么好啊。 2. 就是 before_request 的方式 如果想实现访问鉴权的话,写到 app.before_request 装饰的函数里,但是他是全局的,如果一些 view 不需要鉴权,那又得 if 判断了, blueprint 也有 before_request ,但是写起来总是不够方便,而 Tornado 就可以用多重继承, Mixin 等方式,很方便啊 3. 就是在 view 嵌套函数 嵌套函数倒没什么问题,但是大量使用的话总觉得不够优雅吧,类方法才够优雅啊 当然,上面的疑问也可能是我对 flask 不够了解导致,如果又更好的实现,欢迎大家讨论。 | 
|  |      36dtfm      2016-12-05 20:46:46 +08:00 @tonghuashuai before_request 这种钩子不方便么?能举个小例子说明一下 Tornado 怎么处理的么,我也一直觉得 Flask 有的地方处理蛮繁琐的,但又没有接触过其他框架,所以无从比较。 | 
|  |      38northisland      2016-12-05 20:53:25 +08:00 tornado 有出版的教程,纯新手适合 | 
|  |      39loryyang      2016-12-05 20:57:21 +08:00 新手 flask ,上手很快,到后面了, django 其实也挺好的 | 
|  |      40tonghuashuai      2016-12-05 21:02:15 +08:00 | 
|  |      42lazywen      2016-12-05 21:15:03 +08:00 必须 Django 哇 | 
|      43keysona      2016-12-05 21:17:20 +08:00 | 
|      45cczy      2016-12-05 21:47:10 +08:00 php | 
|      46ayiis      2016-12-05 21:54:00 +08:00 用 tornado 就要有一切向异步看齐的准备,再选其他涉及到 IO 操作的包时就疼了 | 
|  |      47freestyle      2016-12-05 22:11:36 +08:00 via iPhone Django | 
|  |      48alvie      2016-12-05 22:18:02 +08:00 @tonghuashuai django 也能用 Mixin 模式 | 
|  |      49alvie      2016-12-05 22:19:26 +08:00 熟悉哪个用哪个。都不熟悉用 Django ,文档齐全,使用方便。 | 
|  |      50aaronzjw      2016-12-05 22:25:57 +08:00 Flask or Django | 
|  |      51honmaple      2016-12-05 22:27:29 +08:00  1 @tonghuashuai flask 实现很简单啊,使用 MethodView 优雅的处理 get,post,put,delete,继承 MethodView 写一个公共的基类,用 decorators = ()代替 before_request ,不需要鉴权的继承原有的 MethodView ps:一直想不通 flask-restful 有什么用,原生 flask 已自带 MethodView | 
|  |      52honmaple      2016-12-05 22:34:03 +08:00 小项目用 flask,大的 django,tornado 没用过不清楚,听说性能最好 | 
|  |      53sensui7      2016-12-05 22:56:38 +08:00 via iPhone @tonghuashuai 如果是这样的话...我感觉 symfony 的路由组件很强大,同时也足够优雅了 | 
|  |      55kxxoling      2016-12-05 23:48:08 +08:00 Hug +1 | 
|  |      56maomaomao001      2016-12-05 23:55:18 +08:00 via Android nodejs express .... | 
|  |      57hugo775128583      2016-12-06 00:13:26 +08:00 via Android @sensui7 php 都成 python 框架了 hhh ,这是 php 被黑的最惨的一次 | 
|  |      58tonghuashuai      2016-12-06 03:38:28 +08:00 via Android | 
|  |      59zzlettle      2016-12-06 06:01:52 +08:00 | 
|      60szx9231      2016-12-06 08:06:14 +08:00 via iPhone 其实用 nodejs 也挺不错的 | 
|      61miketeam      2016-12-06 08:13:04 +08:00 via iPhone 必须 dj 啊 | 
|  |      62lrh3321      2016-12-06 09:01:12 +08:00 Flask + 1 | 
|  |      63Ahri      2016-12-06 09:16:23 +08:00 Flask: Vine, Netflix, Reddit, Lyft Django: Instagram, Pinterest, Coursera Actually, it does not matter. Companies heavily modify web frameworks to suit their needs. | 
|  |      64doubleflower      2016-12-06 09:28:16 +08:00 相比 flask , django 集成的 db 层是最大优势 | 
|  |      65ryd994      2016-12-06 09:37:12 +08:00 @tonghuashuai GET POST 可以的啊 @app.route('/', methods=['GET']) @app.route('/', methods=['POST']) 两个函数名不一样就行 我经常这么用 | 
|  |      66raptor      2016-12-06 09:52:54 +08:00 bottle +1 相当于光杆的 flask ,做 RESTful 性能比 flask 好( flask 多了一层 werkzeug )。当然要做更多的功能就略不方便了,毕竟没有 flask 那么多现成的扩展。 | 
|      67introom      2016-12-06 09:56:10 +08:00 自己用了就知道了。 | 
|  |      68jkm      2016-12-06 11:14:58 +08:00 有用 pylons (pyramid)框架的童鞋么? | 
|  |      708e47e42      2016-12-06 11:22:53 +08:00 Django 妥妥的,性能基本上不用管,自己玩的小项目做的出来才的基础上比较安全才是王道,性能什么的等你到了纠结的份上直接扩 VPS 就好了。我 VPS 一个月扩个 70 刀的方案性能高的不要不要的了,但是如果你一样的情况下找码农帮你优化代码,不到 500 人民币你应该就请的到学生。所以先别来纠结性能,易用性才是王道 | 
|  |      71grzhan      2016-12-06 11:28:23 +08:00 最近的项目在用 Hug , 然后配 Pony ORM 基于 Python3 (支持 Type annotation ),作为新的微框架感觉设计上相对于 Flask 更符合直觉。 嗯嗯,所以我推荐 Flask (。 | 
|  |      72ruter8      2016-12-06 11:35:27 +08:00 @NaVient 同感。我朋友也一直吐槽,说装那么多扩展之后,这不就是 Django 了吗,那不如一开始就用 Django 哈哈哈哈。感觉也是应用场景的问题吧,一开始可以预见需要大量扩展才能完成的,那肯定不是什么小的项目了,肯定会优先考虑 Flask 之外的框架的。 | 
|  |      73Mark24      2016-12-06 11:41:48 +08:00 Django 文档阔以 现在觉得开源项目,无论本身技术多牛,传播的时候,对于用户和第三方开发者都是黑盒,文档所描述和暴露的功能,直接决定它对于用户的价值。如果文档为 0 ,那么价值也不会高到哪里去。 文档===价值 Django 文档不错 其他没研究过,下次去膜拜膜拜 | 
|      74nicevar      2016-12-06 12:25:02 +08:00 自己做小项目 Django 挺好的,不知道现在什么版本了, 1.5-1.6 版本玩过,做了个小的音乐后台管理,后来转 java 了 | 
|  |      76xvx      2016-12-06 14:28:54 +08:00 via iPhone LZ 应该没使用过这些框架吧,如果接触过的话,就不会问了。 其实都有坑,没有哪个是完美的。 flask 和 Django 的网络文档比较齐全,我也用这两个,不过都有很多坑,哪怕你是对着文档敲的代码,你也会遇到各式各样的奇葩问题。 | 
|  |      77Jackeriss      2016-12-06 14:30:44 +08:00 每个框架都有它的特点和存在的价值,个人喜欢 Tornado 和 Flask 。为什么推荐 Tornado 的人这么少? | 
|  |      78fabregaszy      2016-12-06 14:38:03 +08:00 用的是个冷门的: falcon | 
|  |      80grzhan      2016-12-06 15:24:15 +08:00  1 @Gem 用的时候感觉项目文档太少所以比较担心。 目前遇到过的问题是缺乏对于 auto-reload 的支持( https://github.com/timothycrosley/hug/issues/43 ),以及写文件上传业务时候碰到过一个也是近版本才修复的一个 issue ( https://github.com/timothycrosley/hug/issues/329 )。 是用来写的内部系统,因为后端比较薄,所以扩展之类写得很少。 总体开发的个人体验还是比 Flask 好一些的,建议一些个人项目可以玩票尝试一下。 | 
|      81lalalakakaka      2016-12-06 21:35:48 +08:00 个人开发者,刚交差一个项目,换了 flask/django/bottle 三个框架 开始用的 flask 发现要装的插件有点多,而且目标环境里有个库正好依赖 django 于是换了 django (从头学习的) 发现 django 要配的配置文件有点多,写起来好麻烦~而且我不喜欢 django 的数据层和模版层 刚好反思了下项目不涉及大量数据库操作,甚至可以不需要数据库,简化了设计架构后 直接转了 bottle ,当 RESTful 服务器 后来有 websocket 需求,而 WSGI 类的 python 框架在这方面非常弱,于是想转 tornado 正准备开 git 分支时抽了自己巴掌,做什么死啊,你是做项目还是做调研? 就这么 bottle 交差了 回想起来,还是 flask 舒服。可能学会 django 后会更安逸些,但是实在受不了 django 自带全家老小式的配置文件,时时刻刻需要看文档,不然就进坑里了。而 flask 和 bottle 这类东西,框架本身替你完成的工作不多,反而改配置的思维负担小了很多。而且 jinja 、 sqlalchemy 这种东西不止做 flask 用,在其他地方也用的到,学到等于赚到。 至于 bottle 在极端需要可部署性的情况下还是很美好的,毕竟单文件。 | 
|  |      83sensui7      2016-12-08 21:15:29 +08:00 @tonghuashuai  1. 在一个函数里面如果要同事处理 get 和 post 请求,就要使用 if 判断, 为什么要用一个函数处理呢? 2. 就是 before_request 的方式 抽象程度不够, 不应该在 before_request 里直接处理 view , 可以定义一个请求处理器,除了决定是否可以鉴权, 还可以决定是否不需要控制器, 是否不需要 view , 等等各种操作。 3. 就是在 view 嵌套函数 嵌套函数倒没什么问题,但是大量使用的话总觉得不够优雅吧,类方法才够优雅啊, 此条不懂。 注: 以上都是我胡扯的, 我根本不会 python , - -。 这些是 symfony httpKernel 组件的做法。 |