Python 的 web 框架哪个好呢

2016-12-05 16:08:55 +08:00
 xz
web.py flask tornado Django 自己玩的小项目选哪个呢
6466 次点击
所在节点    Python
83 条回复
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 在极端需要可部署性的情况下还是很美好的,毕竟单文件。
yjmade
2016-12-07 01:18:46 +08:00
@Jackeriss 用了 3 年了,从 7 到现在的 10
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 组件的做法。

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

https://tanronggui.xyz/t/325426

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

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

© 2021 V2EX