新人想问下,用 python 写 http 服务,tornado 和 flask 哪个好,有没有具体的优劣对比?或者有更好的 http 框架?
1
mimzy 2022 年 11 月 4 日 新人请使用 Django ,你需要的东西几乎一定已经有了,用 Flask 最终也会堆成 Django 的样子。Tornado 现在似乎已经不怎么活跃了。不推荐用 FastAPI ,周边生态一般,作者最近一段时间没什么实质性更新。
|
2
fgwmlhdkkkw 2022 年 11 月 4 日
flask 就挺好。
|
4
thinkershare 2022 年 11 月 4 日
推荐你使用 Flask ,不要使用 Django , 要什么的时候再加。
|
5
jdhao 2022 年 11 月 4 日 via Android fastAPI 感觉不错,配合 uvicorn 和 gunicorn
|
6
mimzy 2022 年 11 月 4 日
关于框架选择多说一句,用 Flask 的话,一开始会觉得哇很轻很简单,但初学者用着用着会发现我项目结构怎么组织?这个 g 是啥?怎么出来个 Blueprint ? Flask-SQLAlchemy 查东西为啥有个 session 写入还得 commit ?
Django 的项目结构、ORM 、中间件几乎完全不需要用户操心,文档和第三方生态非常全面,甚至还附送了 Django admin 后台,在初级使用阶段完全没有心智负担。 |
7
u2gign 2022 年 11 月 4 日
确实像楼上说的 从 flask 转到 django 挺久了
|
8
bytesfold 2022 年 11 月 4 日
小的用 flask ,大而全 Django
|
9
warcraft1236 2022 年 11 月 4 日
支持楼上说的,如果是个玩具,那 flask 随便搞搞,如果真的是要上线后期很长时间要维护的项目,还是无脑 Django 吧
|
10
warcraft1236 2022 年 11 月 4 日
顺便吐槽一句 Python 这种动态类型的语言,很难有好用的 ORM
|
11
idblife 2022 年 11 月 4 日
无脑 django
|
12
bing1178 2022 年 11 月 4 日 fastapi
|
13
raptor 2022 年 11 月 4 日
初学者建议还是 flask 入门吧,上来就 django 会压力比较大。
|
14
simple2025 2022 年 11 月 4 日
tornado 又不是不能用
|
15
huangzhiyia 2022 年 11 月 4 日 via Android
看你需求,简单 api 调用或者玩具之类的用 flask 之类好上手的框架,复杂点请用 django 。
不要图前期学习成本简单,对个人而言后期工程实践是个灾难。 |
16
rust 2022 年 11 月 4 日
Sanic 又不是不能用,和 Flask 一样简单,但是性能又高.不好吗
|
17
rationa1cuzz 2022 年 11 月 4 日
看实际情况,如果只是自己玩玩或者简单的增删改查的话 fastapi flask 都可以,上手非常容易;如果有复杂需求,比如复杂鉴权复杂业务等,无脑 Django 。fastapi flask 小而简单上手快,Django 重而全上手相对难。
|
18
knightdf 2022 年 11 月 4 日
老学者也建议 flask
|
19
westoy 2022 年 11 月 4 日 其实 django 才是小而美, flask 才是大而全
|
20
ipwx 2022 年 11 月 4 日
FastAPI + Vue.js
|
21
ipwx 2022 年 11 月 4 日
@rationa1cuzz 但是 Django 和 JS 领域的 Vue.js 之类的放在一起用就几乎没有它的优势了。
|
22
liuxingdeyu 2022 年 11 月 4 日
Django 吧,结构明确,功能齐全,省心省力。flask 随着功能的增加会越来越笨重,坑还不少。还有个最关键的,俩框架的文档完全不在一个水平上
|
24
Brimoire 2022 年 11 月 4 日
简单总结 大项目 有架构有规划 上 flask 小项目 个人项目啥的 django
|
25
penzi 2022 年 11 月 4 日
最好的框架就是别用 Python
|
26
Rebely 2022 年 11 月 4 日
@raptor sanic 现在完全没有必要用,而且就是不如 fastapi 好用, flask 已经支持异步视图了,flask 衍生框架 quart 也不错. 对比起来 sanic 没有任何优势
|
27
ppd0705 2022 年 11 月 4 日
fastapi
|
28
Courstick 2022 年 11 月 4 日
不建议 tornado 同一楼理由 遇到问题查找解决方案比较困难,flask 和 django 的话个人认为没有突出的优劣之分,django 有的功能 flask 基本都能找到趁手的第三方库
|
29
arischow 2022 年 11 月 4 日
Tornado 和 Flask 的话我选后者,因为我熟悉
但是你能问出这样的问题,我推荐 Django ,我也用 Django |
30
YSMAN 2022 年 11 月 4 日
无所谓 何必纠结于 框架呢, 都差不多的
|
31
C0VN 2022 年 11 月 4 日
推荐你使用 Django ,知道自己要啥的时候用 Flask 。
新手用着用着还是会把 Flask 拼成一个 Django 。 |
32
exiaohao 2022 年 11 月 4 日
可以分三组对比:
- Flask 、Hug - Django - Tornado 理解下差异吧 |
33
SenLief 2022 年 11 月 4 日
前期的框架应该推荐 django ,没有选择困难症,同时有比较好的项目组织,flask 各个组件的关系前期学的时候一脸懵逼,你都不知道文件应该放在哪合适。等把项目组织弄回了,框架就随意了。
|
34
LindsayZhou 2022 年 11 月 4 日
@liuxingdeyu #22 文档确实不在一个水平上,Django 把文档过一遍的功夫,我能把 Flask 的源码读上七八遍了。
本来想看一下 Django 的,两千七百多页的 pdf 文档把我劝退了。 |
35
nyakoy 2022 年 11 月 4 日
不推荐 django ,太重,很多你用不到的功能都自带。自带的 orm 光迁移问题就可以劝退我 80 次。flask 和 fastapi 小并且灵活,用到什么就加什么组件,我几个线上项目用的 flask ,最近新项目用的都是 fastapi ,没啥问题。
|
36
B1acKy1in 2022 年 11 月 4 日
fast api 属实新人不友好
|
37
nomagick 2022 年 11 月 4 日
Fastapi 和 Java 那边的 Spring cloud 是第一梯队,声明式编程,Dto
Flask 之流,和 Go, 一般的 Node.js 是第二梯队, 异步加持, 主要是做 API 服务,但代码组织没搞好,到处都是参数验证 Django ,和 ROR ,PHP ,第三梯队,传统 MVC 框架,渲染 HTML ,准备扫进历史的垃圾堆 |
38
inframe 2022 年 11 月 4 日
项目里用过 flask ,tornado ,django ,fastapi
不管最初怎么样,小项目无所谓随便搞,web 框架写到后面系统就会越来越像 django 类似的东西 因为工程实践最后走的都是这几条路, 没有好坏,只有合不合适😉 |
39
GlobalNPC 2022 年 11 月 4 日
当然是 sanic !
|
40
lucays 2022 年 11 月 4 日
要么 django 要么 fast api
新手上前面的,啥都有 |
41
kafeisemang 2022 年 11 月 4 日
@nomagick django 也能做前后端分离啊,drf 框架开发速度挺快的
|
43
cxxnullptr 2022 年 11 月 4 日
flask 用着最舒服
|
44
chuanqirenwu 2022 年 11 月 5 日 建议用 go
|
45
CzaOrz 2022 年 11 月 5 日
|