1
mansur 2016-12-05 16:22:37 +08:00
django
|
2
gogohigh 2016-12-05 16:29:44 +08:00
tornado
|
3
icedx 2016-12-05 16:30:01 +08:00 via Android 3
Flask 不服憋着
|
4
ipconfiger 2016-12-05 16:31:32 +08:00
引战贴, 火钳流明
|
5
winniesi 2016-12-05 16:31:39 +08:00
前三楼齐了,看你怎么选
|
6
Kilerd 2016-12-05 16:33:12 +08:00 via iPhone 2
我选 Flask ,不服就自己想到服。
|
7
lairdnote 2016-12-05 16:34:00 +08:00 1
flask
|
8
hack 2016-12-05 16:53:04 +08:00 1
flask+1
|
10
yrq110 2016-12-05 16:56:16 +08:00 via iPhone
flask
|
11
pimin 2016-12-05 16:57:12 +08:00 via Android
uliweb💣
|
12
sensui7 2016-12-05 17:36:32 +08:00 via iPhone
php ,还有谁不服
|
13
geek123 2016-12-05 17:54:08 +08:00 1
小项目还是 flask 吧。
|
14
qweweretrt515 2016-12-05 17:55:02 +08:00
django
|
15
qweweretrt515 2016-12-05 17:55:38 +08:00
django +1
|
16
smallaccount 2016-12-05 17:56:36 +08:00 1
Flask
|
17
imcocc 2016-12-05 18:02:24 +08:00 via iPhone
bottle
有人用过没 |
18
ruter8 2016-12-05 18:11:53 +08:00 1
目前用过 Django 和 Flask , Django 算是一步到位吧, Flask 可以各种扩展。看你需求来选吧,只是做一个 RESTful API 的话,用 Flask 就够了,要做大一些的项目, Django 功能更齐全。
|
19
xrlin 2016-12-05 18:13:15 +08:00 via iPhone
Django ,大而全
|
20
tumbzzc 2016-12-05 18:25:47 +08:00 via iPhone 1
Flask+1
|
21
misaka19000 2016-12-05 18:44:25 +08:00 via Android
PHP +1
|
22
yjmade 2016-12-05 18:52:52 +08:00
odoo
|
23
28ms 2016-12-05 18:56:33 +08:00 via iPhone
django 套路熟悉了之后非常方便, admin 模块不容小视。
|
24
anjunecha 2016-12-05 19:05:11 +08:00 via iPhone
严肃点做就 tornado
|
25
ke1e 2016-12-05 19:21:19 +08:00 via Android 1
Flask 爱咋咋地
|
26
tumbzzc 2016-12-05 19:22:26 +08:00
@misaka19000 R U Serious ? PHP ?
|
27
chaichaichai 2016-12-05 19:52:42 +08:00
tornado
|
28
NaVient 2016-12-05 19:53:12 +08:00 1
我用 flask 加扩展到最后都怀疑自己用的是 django 手动滑稽
|
29
keysona 2016-12-05 20:04:48 +08:00
django 大而全。
flask 小而精。 说真的, flask 可以学到很多东西。 之后,用 django 可以节省很多时间。 所以,学习的话 flask 入手。 反正前三楼说的都要学。 |
30
FindHao 2016-12-05 20:05:37 +08:00 via Android
习惯了 tornado
|
31
windfarer 2016-12-05 20:07:17 +08:00 via Android
aiohttp.web
|
32
jimzhong 2016-12-05 20:23:14 +08:00
看你的需求,小项目有多小?
Django 五脏俱全, Flask 需要很多第三方扩展。 |
33
zhuangzhuang1988 2016-12-05 20:33:32 +08:00
django .. 别作死用别的。。
|
34
tonghuashuai 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 不够了解导致,如果又更好的实现,欢迎大家讨论。 |
36
dtfm 2016-12-05 20:46:46 +08:00
@tonghuashuai before_request 这种钩子不方便么?能举个小例子说明一下 Tornado 怎么处理的么,我也一直觉得 Flask 有的地方处理蛮繁琐的,但又没有接触过其他框架,所以无从比较。
|
38
northisland 2016-12-05 20:53:25 +08:00
tornado 有出版的教程,纯新手适合
|
39
loryyang 2016-12-05 20:57:21 +08:00
新手 flask ,上手很快,到后面了, django 其实也挺好的
|
40
tonghuashuai 2016-12-05 21:02:15 +08:00
|
42
lazywen 2016-12-05 21:15:03 +08:00
必须 Django 哇
|
43
keysona 2016-12-05 21:17:20 +08:00
|
45
cczy 2016-12-05 21:47:10 +08:00
php
|
46
ayiis 2016-12-05 21:54:00 +08:00
用 tornado 就要有一切向异步看齐的准备,再选其他涉及到 IO 操作的包时就疼了
|
47
freestyle 2016-12-05 22:11:36 +08:00 via iPhone
Django
|
48
alvie 2016-12-05 22:18:02 +08:00
@tonghuashuai django 也能用 Mixin 模式
|
49
alvie 2016-12-05 22:19:26 +08:00
熟悉哪个用哪个。都不熟悉用 Django ,文档齐全,使用方便。
|
50
aaronzjw 2016-12-05 22:25:57 +08:00
Flask or Django
|
51
honmaple 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 |
52
honmaple 2016-12-05 22:34:03 +08:00
小项目用 flask,大的 django,tornado 没用过不清楚,听说性能最好
|
53
sensui7 2016-12-05 22:56:38 +08:00 via iPhone
@tonghuashuai 如果是这样的话...我感觉 symfony 的路由组件很强大,同时也足够优雅了
|
55
kxxoling 2016-12-05 23:48:08 +08:00
Hug +1
|
56
maomaomao001 2016-12-05 23:55:18 +08:00 via Android
nodejs express ....
|
57
hugo775128583 2016-12-06 00:13:26 +08:00 via Android
@sensui7 php 都成 python 框架了 hhh ,这是 php 被黑的最惨的一次
|
58
tonghuashuai 2016-12-06 03:38:28 +08:00 via Android
|
59
zzlettle 2016-12-06 06:01:52 +08:00
|
60
szx9231 2016-12-06 08:06:14 +08:00 via iPhone
其实用 nodejs 也挺不错的
|
61
miketeam 2016-12-06 08:13:04 +08:00 via iPhone
必须 dj 啊
|
62
lrh3321 2016-12-06 09:01:12 +08:00
Flask + 1
|
63
Ahri 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. |
64
doubleflower 2016-12-06 09:28:16 +08:00
相比 flask , django 集成的 db 层是最大优势
|
65
ryd994 2016-12-06 09:37:12 +08:00
@tonghuashuai GET POST 可以的啊
@app.route('/', methods=['GET']) @app.route('/', methods=['POST']) 两个函数名不一样就行 我经常这么用 |
66
raptor 2016-12-06 09:52:54 +08:00
bottle +1
相当于光杆的 flask ,做 RESTful 性能比 flask 好( flask 多了一层 werkzeug )。当然要做更多的功能就略不方便了,毕竟没有 flask 那么多现成的扩展。 |
67
introom 2016-12-06 09:56:10 +08:00
自己用了就知道了。
|
68
jkm 2016-12-06 11:14:58 +08:00
有用 pylons (pyramid)框架的童鞋么?
|
70
8e47e42 2016-12-06 11:22:53 +08:00
Django 妥妥的,性能基本上不用管,自己玩的小项目做的出来才的基础上比较安全才是王道,性能什么的等你到了纠结的份上直接扩 VPS 就好了。我 VPS 一个月扩个 70 刀的方案性能高的不要不要的了,但是如果你一样的情况下找码农帮你优化代码,不到 500 人民币你应该就请的到学生。所以先别来纠结性能,易用性才是王道
|
71
grzhan 2016-12-06 11:28:23 +08:00
最近的项目在用 Hug , 然后配 Pony ORM
基于 Python3 (支持 Type annotation ),作为新的微框架感觉设计上相对于 Flask 更符合直觉。 嗯嗯,所以我推荐 Flask (。 |
72
ruter8 2016-12-06 11:35:27 +08:00
@NaVient 同感。我朋友也一直吐槽,说装那么多扩展之后,这不就是 Django 了吗,那不如一开始就用 Django 哈哈哈哈。感觉也是应用场景的问题吧,一开始可以预见需要大量扩展才能完成的,那肯定不是什么小的项目了,肯定会优先考虑 Flask 之外的框架的。
|
73
Mark24 2016-12-06 11:41:48 +08:00
Django 文档阔以
现在觉得开源项目,无论本身技术多牛,传播的时候,对于用户和第三方开发者都是黑盒,文档所描述和暴露的功能,直接决定它对于用户的价值。如果文档为 0 ,那么价值也不会高到哪里去。 文档===价值 Django 文档不错 其他没研究过,下次去膜拜膜拜 |
74
nicevar 2016-12-06 12:25:02 +08:00
自己做小项目 Django 挺好的,不知道现在什么版本了, 1.5-1.6 版本玩过,做了个小的音乐后台管理,后来转 java 了
|
76
xvx 2016-12-06 14:28:54 +08:00 via iPhone
LZ 应该没使用过这些框架吧,如果接触过的话,就不会问了。
其实都有坑,没有哪个是完美的。 flask 和 Django 的网络文档比较齐全,我也用这两个,不过都有很多坑,哪怕你是对着文档敲的代码,你也会遇到各式各样的奇葩问题。 |
77
Jackeriss 2016-12-06 14:30:44 +08:00
每个框架都有它的特点和存在的价值,个人喜欢 Tornado 和 Flask 。为什么推荐 Tornado 的人这么少?
|
78
fabregaszy 2016-12-06 14:38:03 +08:00
用的是个冷门的: falcon
|
80
grzhan 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 好一些的,建议一些个人项目可以玩票尝试一下。 |
81
lalalakakaka 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 在极端需要可部署性的情况下还是很美好的,毕竟单文件。 |
83
sensui7 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 组件的做法。 |