Python HTTP 框架咨询

2022-11-04 11:51:41 +08:00
 holy5pb

新人想问下,用 python 写 http 服务,tornado 和 flask 哪个好,有没有具体的优劣对比?或者有更好的 http 框架?

5721 次点击
所在节点    Python
47 条回复
mimzy
2022-11-04 11:59:55 +08:00
新人请使用 Django ,你需要的东西几乎一定已经有了,用 Flask 最终也会堆成 Django 的样子。Tornado 现在似乎已经不怎么活跃了。不推荐用 FastAPI ,周边生态一般,作者最近一段时间没什么实质性更新。
fgwmlhdkkkw
2022-11-04 12:05:03 +08:00
flask 就挺好。
holy5pb
2022-11-04 12:06:35 +08:00
@mimzy 感谢老哥推荐,我去看看 Django
thinkershare
2022-11-04 12:09:44 +08:00
推荐你使用 Flask ,不要使用 Django , 要什么的时候再加。
jdhao
2022-11-04 12:23:28 +08:00
fastAPI 感觉不错,配合 uvicorn 和 gunicorn
mimzy
2022-11-04 12:25:24 +08:00
关于框架选择多说一句,用 Flask 的话,一开始会觉得哇很轻很简单,但初学者用着用着会发现我项目结构怎么组织?这个 g 是啥?怎么出来个 Blueprint ? Flask-SQLAlchemy 查东西为啥有个 session 写入还得 commit ?

Django 的项目结构、ORM 、中间件几乎完全不需要用户操心,文档和第三方生态非常全面,甚至还附送了 Django admin 后台,在初级使用阶段完全没有心智负担。
u2gign
2022-11-04 12:27:56 +08:00
确实像楼上说的 从 flask 转到 django 挺久了
bytesfold
2022-11-04 13:09:28 +08:00
小的用 flask ,大而全 Django
warcraft1236
2022-11-04 13:16:24 +08:00
支持楼上说的,如果是个玩具,那 flask 随便搞搞,如果真的是要上线后期很长时间要维护的项目,还是无脑 Django 吧
warcraft1236
2022-11-04 13:16:59 +08:00
顺便吐槽一句 Python 这种动态类型的语言,很难有好用的 ORM
idblife
2022-11-04 13:24:48 +08:00
无脑 django
bing1178
2022-11-04 13:43:44 +08:00
fastapi
raptor
2022-11-04 13:45:09 +08:00
初学者建议还是 flask 入门吧,上来就 django 会压力比较大。
chenqh
2022-11-04 13:52:04 +08:00
tornado 又不是不能用
huangzhiyia
2022-11-04 13:53:10 +08:00
看你需求,简单 api 调用或者玩具之类的用 flask 之类好上手的框架,复杂点请用 django 。

不要图前期学习成本简单,对个人而言后期工程实践是个灾难。
rust
2022-11-04 13:55:18 +08:00
Sanic 又不是不能用,和 Flask 一样简单,但是性能又高.不好吗
rationa1cuzz
2022-11-04 14:02:02 +08:00
看实际情况,如果只是自己玩玩或者简单的增删改查的话 fastapi flask 都可以,上手非常容易;如果有复杂需求,比如复杂鉴权复杂业务等,无脑 Django 。fastapi flask 小而简单上手快,Django 重而全上手相对难。
knightdf
2022-11-04 14:02:48 +08:00
老学者也建议 flask
westoy
2022-11-04 14:05:06 +08:00
其实 django 才是小而美, flask 才是大而全
ipwx
2022-11-04 14:17:23 +08:00
FastAPI + Vue.js

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/892601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX