Python中Web开发框架选择:2018年,Flask还是Django?

现在到了 2018 年,后出的 Flask 的人气越来越旺,目前在 GtiHub 有 32200 个 star,而 Django 是 30800 个 star,如果使用 Python 语言,你会选择 Django 还是 Flask, 来作为网站、小程序、App 的后端呢?
Python中Web开发框架选择:2018年,Flask还是Django?

99 回复

2018年选Flask还是Django,主要看你项目需求和团队情况。

Django是个“大而全”的框架,自带ORM、Admin后台、用户认证这些功能。如果你要做内容管理系统、电商平台这类功能复杂的应用,用Django能省很多事。它的设计理念是“约定优于配置”,很多决策框架都帮你做好了,适合快速开发标准化的项目。

Flask则是“小而美”的框架,核心很简单,其他功能通过扩展添加。如果你需要高度定制化的API服务、微服务,或者想完全掌控项目结构,Flask更合适。它的学习曲线平缓,新手容易上手。

简单说:要快速搞个功能完整的应用选Django,想做灵活定制或轻量级服务选Flask。两个框架都很成熟,社区活跃,选哪个都不会错。


18 年应该会试试 gin

PHP 一般用哪些 Web 框架?

18 年试试 golang 吧 gin 很好用

刚去看了,性能据说很好,确实很吸引人,也有一试的欲望

比 Python 系的都好用吗?配套的东西呢? Gin 有没有比较好的入门材料?

我也好纠结

都 2018 年了,该用 sanic 了

说的好,我用 rails…

自己写着玩的项目用 sanic,公司项目让用啥用啥

flask,django,sanic 更纠结了。。。

才发现 sanic,看起来不错!

emmmm,我用我自己写的一个 类 koa 的异步框架,反正是 side project 够用。

嗯,还是上 Spring 吧,为了生态。。。。。

sanic 一点都不 pythonic

都 18 年了,为什么还在讨论 web 框架

都要失业了 还讨论框架。

并发压力比较的大、业余也成型的会用 go 重写。

类似后台管理接口这种,会用 flask。怎么方便怎么来。

django 老大哥的历史使命已经完成了,早期的开发者有的已经退休玩音乐去了,flask 后起之秀,学了大哥的长处,结合新时代的需求,sanic 没用过,不好说。

flask 用的多一点

其实看了下 aiohttp 也不错了

为啥没用人 webpy

这么多选 Go 的,,难道你们用户很多吗(`・ω・´)

说来要是 diesel, hyper, serde, iron 成熟了,后端 api 就可以转向 rust 了

对了对了还有 pylons 套装可以选~

作为一个先后用过 Flask 和 Django 然后转向 Go 的人,嗯,不用 Nginx,编译了直接跑,挺爽的 :D

Sanic 渣渣。

https://zhuanlan.zhihu.com/p/32518153











Python 基于 WSGI 的框架都特么渣!

#29 666 Sanic 不是基于 WSGI

我说了两件事。一是 Sanic 渣 。二是 flask/django 等只能以 wsgi 接口工作的也很渣。

“代码质量真的不好” 划重点
sanic 要么就老老实实的抄 flask

结果搞个四不像出来 sanic 既不遵守 wsgi 也不遵守 asgi 出了问题还得自己 fix。
虽然 sanic 估计也发现了这个问题,看 5 个月前的版本更惨。

> Python 基于 WSGI 的框架都特么渣!

Instagram, Pinterest, Disqus 笑而不语

因为 WordPress,所以选择 PHP

“ flask/django 等只能以 wsgi 接口工作”
低级黑。。。

Golang 单文件部署确实挺爽的,资源占用还少。

请举反例。

腾讯 cgi-bin 笑而不语。

tornado 难道没人用吗?

https://github.com/django/daphne
django 是可以上 asgi 的呀?还是我们讨论的不是同一个问题?

Django Channels 属于 Django 的一部分吧。2333。我的理解是个外挂。

请问大佬现在该讨论什么?无服务器架构吗?
这么悲催,互联网已经快完了?

Go 选 Gin, PHP 选 Laravel

都 2018 年了还在纠结 web 框架?
我用汇编,直接操作网卡数据

emmmm 老哥又见面了

emmmm 上次关注 sanic 还是去年年初的事,现在去翻了一下大变样啊

Sanic 是真的渣= =
ASGI 不支持 /WSGI 不支持
自己实现的 Gunicorn Worker 还日常玄学 504
做个插件让你哭
内部耦合严重到爆

现在 Sanic 的源码真的一团乱麻。。= =本来一个很不错的思路结果完成这样= =我也很迷
之前写过一片水文
https://zhuanlan.zhihu.com/p/32518153

会 spring 全家桶的笑而不语,我觉得的 python 还是搞 python 的强项比较好,什么科学计算,机器学习,脚本处理等,python 真心爽。开发 web 我还是觉得 java 真心不错,要并发有并发,要生态有生态,强类型语言,用 IDEA 写起来很爽。就是语法有点啰嗦。

基本没用过 flask,tornado 转 aiohttp 用户

我选 ROR…

说的好 我司用 tornado

我选 ROR (笑

一版发布,可跑 N 年,java 确实没什么问题。随时应变各个脑筋不清楚的需求变更,又不得不应付的时候,胶水大法省力多了

论 star 数,ror 3w8

另外都 2018 年了,还在讨论性能? 项目实现才是首要吧,性能不够加机器啊,反正便宜不是吗

2018 年了 Python 不都去搞人工智能了吗



老哥你是用身份证上的头像做的头像么

#40 django channels 算是是 django 的扩展吧

感觉会一个另外一个也能很快就掌握了,纠结的那个时间都能学不少了

小项目用 Flask
中型项目用 Django 或 Flask
大型项目用 Java

一直用 flask,django 一听说是大而全,就觉得无爱了,所以连正眼也没看一下。有空时瞧瞧

难道就我一个用 nodejs 么~

感觉 django 才是最符合 python 哲学的,battery include,开箱即用,如果 python 速度有 nodejs 速度那么快就 好了

学习 python 半年了,就用过 flask,个人感觉很好用,入门很容易; django 以后有机会可以研究下

听说可以用 kotlin 写了

django 啊,
大而全多好,
用啥 flask

我一直以为 py,比 nodejs 速度快。

这个问题有什么可问的,每个框架能存在肯定有优势的场景。
web 开发本身不是什么高难度的活儿,肯定地说用哪个框架都能干。

FLASK 和 DJANGO 我都用过,bottle 也用过。选哪个看场景和对框架的熟练程度。
如果 Python 语言基础不是很精通又想快速撸出来个东西,选 Django
精通 Python 语言又想稍享受撸的过程选 Flask

大多数 web 开发都没有什么性能问题,需要性能的开发工作基本上轮不上用 Python 了。
实现上快速搭建个原型出来快速迭代是选 Python 或 ruby 这类动态语言最常用的场景,
这肯定要比上来就 java 要少一半以上的代码量和时间的。

py 性能不行,

py 写数据分析,web 用 ror 快。。。。

狗年,我选择 go 语言

我选择 PHP +Phalcon

tornado 跑了三年了,觉得一点没问题

主要并发编程很简单,性能也好一些。官方文档足够了

老哥算你狠。。。

说的好,用 Java


ozzo 不服

我一直是用 webpy,不过自从作者 2013 年自杀后这框架就没人更新了。。所以今年我把公司原来的 webpy 的项目都改成 tornado 了。

18 要考虑怎么找女朋友

乱入一个,有多少人听说过 /用过 JHipster 的?

有模板的,django
api,tornado
统一搞上 pypy。。。。

如果是 flask 为什么不用 sanic

作爲 Flask 項目組成員,當然是選擇 Flask 呀。今天在 https://lepture.com/en/2018/announcement-of-authlib 裏還提到

> Flask comes first, Django comes second.

spring boot 的脚手架

tornado 吧,对 asyncio 支持不错

作者都去世了,很久没维护了

django 其他最后都会被开发堆积木对称 django

2018,为何不用 crow

你需要知道有一个东西叫做 Sanic,效率是 Flask 的 200 倍,Route 和 Flask 一模一样。

route 並不是 Flask 的特點,Flask 的特點是 context 機制。

仔细看过 sanic
的 benchmark 的人就不会把 200 倍挂嘴上。sanic 接近 lgo 效率是用 mrk (好像是,手机懒得查了)合并 http 请求,另外极其可能只是个测试一个 helloworld。根本没什么参考意义。自己写两个后端服务调用下就知道这东西其实根本没那么玄乎

现在有 react,vue 之类的,模板引擎都可以放前端,后端用 jsonrpc 提供数据接口就够了

如果仅仅是后端,可以用 sanic,前端用用 angular 或者 vue 都可以

Django 吧,东西写出来是用的,怎么快怎么方便怎么来啊,大而全没什么不好的

小网站用 django,开发效率高。

你这个脑洞是真的服

#82 配 pypy 确实快,但是网上似乎没有什么文章介绍这个 gc 啊,实际使用中这个是个很大的问题,内存使用量、停顿都是很大的问题

django 一票,flask 各种 flask-包一装还不是和 django 一样?网站大了还是上 spring 全家桶,生态好.

回到顶部