联创圈 logo 联创圈
热门搜索
返回联创圈官方笔记

联创圈开发日记(一):为什么我们选择Flask而不是Django

封面图

联创圈上线运营了一段时间,今天开始记录开发日记,分享我们的技术决策和产品思考。

为什么选Flask?

在项目立项时,我们在Django和Flask之间做了对比:

Django的优势:

- 自带Admin后台,开箱即用

- ORM成熟,数据库迁移方便

- "batteries included",功能齐全

Flask的优势:

- 轻量灵活,想用什么组件自己选

- 学习曲线平缓,上手快

- 对小团队更友好,不需要学一套庞大的约定

最终选择Flask的原因很简单:团队规模小,需要快速迭代

Django的Admin虽然好用,但定制化成本很高。Flask虽然没有自带Admin,但我们用Flask-Admin + 自定义模板,反而能做出更贴合业务需求的后台。

实际体验

用了大半年,Flask的选择是对的:

1. 迭代速度快:加一个新功能模块,从路由到模板,半天就能上线

2. 灵活度高:想加Redis缓存、Celery异步任务,即插即用

3. 代码可控:没有框架的"魔法",出了问题容易排查

当然也有痛点:

1. 项目结构需要自己规划:没有Django的约定,团队大了容易混乱

2. 数据库迁移要自己搞:我们直接用SQLAlchemy + 手动迁移,不如Django的makemigrations方便

3. 后台要自己搭:虽然Flask-Admin能用,但定制工作量不小

总结

技术选型没有标准答案,关键是看团队、项目阶段、迭代节奏

如果你是1-3人的小团队,需要快速验证产品,Flask是很好的选择。

如果你是5人以上的团队,做的是中大型项目,Django的约定式开发可能更合适。

联创圈目前5万行代码,Flask依然能扛住。后续如果要做微服务拆分,Flask蓝图机制也很方便过渡。

后续会继续分享联创圈的开发过程,包括数据库设计、排序算法、部署方案等。关注专栏不迷路。

862
评论
加载评论中...

键盘快捷键

导航

/ 聚焦搜索框
g h 返回首页
g r 资源库
g c 课程中心

操作

t 切换深色模式
b 返回顶部
f 快捷操作面板
? 显示快捷键帮助

图片浏览

上一张
下一张
Esc 关闭/退出

?Shift + / 随时打开此面板