1
qs 2018-03-30 11:44:24 +08:00
flask 知名度高的前提下 使用更简单
|
2
forthdim 2018-03-30 11:48:55 +08:00
flask 呗,简单易用
|
3
pimin 2018-03-30 11:50:21 +08:00 via Android
flask 上手快一些
|
4
WilliamLin 2018-03-30 11:54:54 +08:00
flask 或 django
|
5
xpresslink 2018-03-30 11:58:39 +08:00 1
看你的需求和你本身对 python 语言基础。
如果你的 python 语言基础也是小白又想马上撸出来点东西,主要是以内容展示为主的项目,那么选 Django。 如果你的 pthon 基础不错,想做某种服务后端,以 api 为主,需要比较大的灵活度,那么选 flask |
6
fanhaipeng0403 2018-03-30 12:14:05 +08:00
flask
|
7
rogwan 2018-03-30 12:14:57 +08:00 via Android
以为有很多框架可选,其实也就 flask 和 django。其他的要么太老,要么太新,要么太小,要么太大。
|
8
SuperMild 2018-03-30 12:17:40 +08:00
flask,用来做小项目真的很爽
|
9
SlipStupig 2018-03-30 12:24:45 +08:00 1
难道不是 tornado,性能好,轻量化,我从 3.0 用到现在 5.0.....
|
10
lixuda 2018-03-30 12:25:58 +08:00
@SlipStupig 方便吗
|
11
SlipStupig 2018-03-30 12:28:32 +08:00
|
12
vimiix 2018-03-30 12:42:22 +08:00 1
入门 flask->进阶 django->高手 flask
|
13
vimiix 2018-03-30 12:44:03 +08:00
flask 就是 Dota 里的 SF,农药里的妲己 ,😄
|
14
wspsxing 2018-03-30 12:44:07 +08:00
flask 微框架,
django 大而全的框架, sanic 性能好, 初学者前两个随便选一个就行,另外 tornado 的时代已经过去了。 |
15
Marmot 2018-03-30 12:44:32 +08:00
楼上+1
|
16
xpresslink 2018-03-30 12:46:32 +08:00
@SlipStupig 我觉得 tornado 的异步网络框架是很强大,非常适合做高并发应用后端。做 web 框架就有点功能上不完善了,特别是异步回调模式不是一般小白能很快上手写代码的,老手都头疼,要是我宁愿用 gevent。
|
17
lauix 2018-03-30 14:15:11 +08:00
flask 优化后,比 tornado 并发更高。
|
18
fy 2018-03-30 14:56:17 +08:00
flask 文档好容易上手。
tornado 不错但是缺少一些常用的辅助功能。 不过现在毕竟是前后端分离的时代了,不要模板的话像是 apistar 这种框架也不妨看看。 另外我以前是 tornado 老用户了,造了一个轮子: https://github.com/fy0/fpage @xpresslink #16 异步使用 python3 |
19
mingzizhi 2018-03-30 14:58:44 +08:00
flask 确实很方便,我也刚弄 Python,就用的 flask,易学,简单,文档也 OK
|
21
ipwx 2018-03-30 15:09:00 +08:00
@SlipStupig Tornado 性能确实不错,但是建立在你本身 Python 已经很厉害的基础上。如果是新手,还是老老实实用 Flask 或者 Django 吧。
|
22
welkinzh 2018-03-30 15:36:28 +08:00
flask 入门很快, 接下来可以 django,其实主流也就这两个了
|
24
rogwan 2018-03-30 16:10:01 +08:00 via Android 1
@lauix 优化算上 uwsgi/gunicorn 吗?还是优化 flask 本身模块(除了把阻塞任务用 thread 或队列之外,还没怎么优化过其他功能啦)?
|
25
lauix 2018-03-30 16:20:12 +08:00 1
@rogwan
gunicorn 启动是必须的 主要还是 gevent + flask 变成协程 ( 加上 gevent 不比 tornado 差,最重要的是不用写 yeid ) celery + redis 作为异步队列 基本就搞定了 本身模块看需求了 |
26
baojiwei 2018-03-30 16:44:27 +08:00
2020 就不支持 python2 了,为什么不果断的坐上 python3 的船。当然是 sanic。
|
27
wongskay 2018-03-30 16:53:20 +08:00
flask
|
28
YingJie 2018-03-30 17:10:32 +08:00 via Android
没有用 bottle 的吗
|
29
l1093178 2018-03-30 17:14:37 +08:00
新手用 Django,文档很详细,各种 web 开发的坑和最佳实践也写得很清楚了,照着做基本上不会有问题
一上来就用 Flask 的真的不怕被坑? |
30
mywaiting 2018-03-30 17:14:41 +08:00 1
感觉 python 的框架都是哲学问题,没有对错,找个框架入门好了~
flask 上手快,插件多,但是随着项目的深入,慢慢就是变成一个 django,绝对的 django 一上来就是大而全,但胜在什么都有,什么都不用自己折腾 tornado 这货从一出生就开始用到现在,没有啥好也没啥不好,就是用习惯了。flask 的上手快是以各种插件为代价的,模板你要去找 jinja 吧? orm 要找 sqlachemy 吧?这些都需要你自己去熟悉一下 而且,各种用 flask 和 django 的同学可能忽略了一个基本是事实就是,如果你有工作需要深入到源代码的话,那么 tornado 是一个极好的参考。django 的代码体系复杂而且庞大我就不说了,看 flask 的代码底层还要考虑 Werkzeug,其基于全局变量的 context 处理起来其实也不容易的。 顺便的,部署 tornado 的项目可以少拖一个 gunicorn 或者 uwsgi 之如此类,少很多坑 上面那些提及到性能的同学,完全没有必要进行对比。在 pypy/aiohttp/uvloop 的加持下,不是我非要针对谁,你们说的性能都是垃圾。 |
31
mywaiting 2018-03-30 17:19:59 +08:00
关于性能,补充一点:
在 pypy/asyncio/uvloop 的加持下,不是我针对谁,包括你们认为的 NodeJS、GoLang、Gevent 啥的,都是垃圾 有感觉我会被 NodeJS\GoLang 的同学过来喷死,就不说了~ PHP 才是世界上最好的语言! |
32
rogwan 2018-03-30 17:24:03 +08:00 via Android
@mywaiting flask 的 context 确实有点魔术方法,django 里不是也有 CONTEXT_PROCESSORS,是类似的吗?
|
33
sciooga 2018-03-30 18:29:46 +08:00
Tornado 省心很多啊
|
34
bucky 2018-03-30 18:51:56 +08:00
不推荐 flask 入门,入门重要的是要有一个蓝图,flask 是对后台开发蓝图清楚的人用的,推荐 django, 学了 django 然后又需要可以翻过来学 flask
|
35
mywaiting 2018-03-30 22:10:09 +08:00 2
@rogwan #32 django 的 context_processors 只是 template 的全局变量吧,跟 flask 不是一个概念的 context
flask 的 context 分为 App context (_app_ctx_stack) 和 Request context (_request_ctx_stack),理解好这两个概念就是 flask 的关键。flask 基于 werkzeug 的 LocalStack 实现了很精巧的 应用(app) 和 请求(request) 的 context,像 flask g 这样的全局变量好用是好用,要是你想问个为什么,恐怕没有几个自认为懂得 flask 的人答得出来 因为懂得 flask 背后的原理,我反而觉得 tornado 这样的用 class 来构建 context 的框架更加方便理解,至少跟别人解释起来,真心比 flask 这背后的 LocalProxy 好理解~ |
38
simpleapples 2018-03-30 23:52:45 +08:00
我用 flask 做过一些项目,觉得 flask 的设计是非常精妙的,既可以用来做小项目,也可以使用蓝图,引入各种扩展来用来做大项目。从代码角度来说,也适合由浅入深的学习,可以通过它了解“什么是一个 web 框架”,也可以深入到源码中,理解其 context 的设计原理。
既然楼主是新手,建议随便找一个框架( django、flask、tornado )深入理解,然后再对比着学习另外两种,选择上不用太纠结,反正都不了解,那就随便找一个了解好了。 |
39
ihuzhou 2018-03-31 00:01:56 +08:00
最近有个任务就折腾了下 flask 和 django,个人体会 django 比 flask 稍微好一点,flask 精简,django 全面直接有登录后台权限系统,用起来十分方便。
|
40
xpresslink 2018-03-31 00:31:50 +08:00
@YingJie 这个以前还真用过写一些运维小工具接口什么的。本质上 flask 就是从 bottle fork 出来的那个装饰器路由方式完全一样。就是因为 flask 作者当年想让 bottle 作者加功能,但是 bottle 作者就是想保持一个文件的框架不同意改,于另起炉子了。不信你拿 bottle 那个 hello world 用 flask 来跑都不用改。
|
41
rogwan 2018-03-31 00:32:32 +08:00 via Android
@mywaiting 明白,就是说 django 大包大揽,自产自销,用不着 App context 这样的可拔插设计(把 flask 的 app.app_context().push()理解成可拔插设计),可以这样理解吗?
|
42
swulling 2018-03-31 00:51:41 +08:00 via iPhone
django 适合新手,成熟方便
flask 有一定经验的,灵活易用 tornado 适合看代码学习……写的很赞 |
43
lalalakakaka 2018-03-31 01:17:53 +08:00
推荐 bottle。麻雀虽小五脏俱全,不用折腾插件~
学会 bottle 再转 flask 也不迟 |
44
Linxing 2018-03-31 01:50:45 +08:00
必须是 Flask 写接口真的是杠杆的
|
45
jjx 2018-03-31 06:23:07 +08:00
一直在用 bottle+gevent
对于只提供 api 而言 flask 也很重 |
46
conn4575 2018-03-31 08:14:37 +08:00 via Android 1
如果你有其他语言成熟 web 框架经验的话,推荐 flask,否则请使用 django,我已经看过太多新手用 flask 入手,然后写出来的项目代码结构不堪入目的…
|
47
WinMain 2018-03-31 10:02:15 +08:00
前段时间临时搞一个 web 项目,简单学了下,用的 nginx+gunicorn+gevent+flask+celery,感觉挺好用,一天就上手。。
|
50
jimi2018 2018-03-31 17:34:10 +08:00
|
51
creedowl 2018-03-31 18:10:40 +08:00
有人用 aiohttp 嘛
|
52
vipppppp 2018-04-02 17:55:20 +08:00
作为一个新手,学了 3 个月 python,然后自己看视频和看资料学习 django
然后现在在刚刚入职一个月,在做 flask。。。。。 |
53
Jaymiii 2018-04-03 09:56:44 +08:00 1
@vipppppp 求问您主要掌握了什么 python 知识,您是计算机专业的吗,应届生还是社招?很想知道能入职大概的要求是怎么样的。希望能传授一些经验
|
54
qsnow6 2018-04-04 22:20:56 +08:00
月经贴
|
55
ZoomQuiet 2018-04-06 08:54:50 +08:00 via iPhone
Bottle
是也乎 ╮(╯▽╰)╭ 不解释… |
56
vipppppp 2018-04-23 17:53:40 +08:00
@Jaymiii 不好意思,之前你的回复刚好在我的消息通知下一页,没注意到
我是通信毕业的,毕业后加入了一家比较大的公司做网络运维,觉得不适合自己,在上班空余的时候就自学,入职不到半年就辞职了,在职期间零零散散学了 2,3 个月 python,然后辞职后,自己学习了 django 二个月,就硬着头皮去面试了。 大概就掌握了 mysql,计算机网络,还有一些 web 知识和 python 知识,当然还有大学的一些基本的编程基础,其实,觉得找份工作不会很难,主要是好与不好,如果没有很多的资本,我觉得就不要太挑剔公司,为了入个门最重要~ |