超小团队选择django还是flask? 题主的情况是这样

来源:互联网 发布:dns域名跳转 编辑:程序博客网 时间:2024/05/22 09:35

超小团队选择django还是flask?

题主的情况是这样
,题主是一名大学生,想帮自己的社团写一个主页app承载社团申请,社团blog,社团信息服务,留言板等功能,
题主的技术情况是前后端都懂一点,前端是使用bootstrap及各式模板套上jQuery和angularjs(做提交表单可视化),后端习惯Python,曾经用过Python的django和flask都写过很多练习,但没怎么做过项目,
所以问题是,后端只有我一个人,那么我是应该选择大而全的django还是短小精悍的flask再套上一堆flaskext,哪一个对像我这样的情况比较适合维护(部署在阿里云上面)

35 个回答


我给你的建议是angular/react做前端且做到前后分离不去碰模板而页面直接静态路由,然后用django的可能是最方便最不用鸟细节的ORM+admin组合做RESTful API。
发布于 2015-10-05
当然是django.
发布于 2016-09-09
推荐Django。Flask很多插件都有大坑。Django相比提供了整套的解决方案,而且坑相比不是那么大。
发布于 2015-08-23
这个问题可以从三方面来思考,时间成本,系统功能,用户期望。
时间成本严重依赖框架和个人掌握程度,flask灵活,但本身提供的功能较少,Django虽然复杂些,但功能丰富,自带的admin非常方便,结合ueditor可以直接做管理后台来发布博客和对内容进行管理。
系统功能本身没有复杂的地方,flask和Django都很容易实现。但别忘了,Django的admin可是能省去你很多事情哦。
用户期望是什么呢?他们会在乎你用什么技术吗?他们想要的是一个产品,而不是你用了哪些技术?如果你能在短时间内满足他们的需求他们就会比较满意。
这个小项目大部分都是你一个人做吧,那相当于自己就是产品经理和程序猿了,不要让自己的思维局限在自己只是程序员的角度去思考,会让自己的选择更清晰。
发布于 2015-09-02

这个问题很久以前回答的,没想到还会有人点赞。

继续写点东西

目前公司,我们在管理后台上,使用了flask。


如果想加深学习python,建议使用flask,如果仅仅是为了完成任务,使用django

以下是个人学习经验

1.当时也是给社团做网,遇到的问题的特别多,但是django都能找到直接可用的代码,所以对自己加深python的理解一点好处都没有

2.后来学习flask,很多东西你都要从头构建,慢慢的就会遇到很多问题,比如数据问题,比如一些第三方插件,这些问题你会遇到,并且可以快速的解决,对于综合知识的提高,有大的好处。

3.当对flask和如何构建一个web系统理解之后,可以尝试使用tornado,会加深你对异步编程的理解

编辑于 2017-03-11

我觉得Django挺好开发的,我开发了一个超小型网站使用的就是django。
flask没用过所以不是很清楚。但是django配合模板系统是很好用的,虽然模板系统只能实现一些非常有限的功能。
但是好像django的并发特别蛋疼。

默默地放一个django的网页
acm.kidozh.com,这个架在sae上,目前运行的还是满足我的要求的。。。
发布于 2015-09-26
Bottle: Python Web Framework
Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library.
适合小项目快速原型。
编辑于 2015-09-20
先说本人做过的网站吧,django开发的文章_麦子圈 mvc三层几乎都是由我一个人实现的,再说我的答案:强烈推荐flask。
为什么?flask拥有丰富的第三方插件不需要自己造轮子,本身构造以及组织形式就是为小规模开发设计的。django用就得用一套,模板引擎以及orm都是不可替换的,只有用过的人才知道django的模板引擎有多坑,随便举一例,百度“django 模板 四则运算”,看看django下模板的四则运算是如何完成的。再看看flask使用的jinja,jinja对于flask来说是个特例,在flask几乎没有什么不可替换的组件里,jinja是好像是唯一一个不可替换组件,但是他比django的模板引擎强大多了,django中模板不能给需要参数的函数传参,加减法也十分困难,在jinja下,一切不是问题。
再说组织结构,django的文件组织结构的确有板有眼十分严谨,对于大型项目来说的确十分收益,但是对于超小团队的小型项目,过度的约束反而会拖慢开发进度。对于flask,只要你愿意,单文件,五十行就能搞定一个小站。
django的优势在哪呢?组织结构严谨,不会给接下来的扩展留坑,所有组件都由框架来实现,配套使用有一些非常爽的特性,比如modelform这种东西真是让人眼前一亮。但是这些特性对于一个小型项目来说我觉得并没有多大帮助,有时反而会变成累赘。
编辑于 2015-09-20
我会更倾向于flask,框架这个东西,轻量级的够用,就没必要用太重的
发布于 2015-07-28

作为一个本科期间做过大大小小无数网站的人,推荐Django。一招满足你所有需求。

Django可以说是上手最快的框架之一,而且前中后期都适用。Yelp的后端就是基于Django的这种事情我会乱说?
发布于 2015-09-20
flask曲线平缓
发布于 2015-11-05
上面很多说,小项目用轻框架的,说难听点就是误人子弟!框架轻或重,跟开发者有什么关系?软硬件或者需求上有限制,没办法的情况下,才会用轻的框架,或者自己写框架。为什么?因为功能受限或者需要自定义的功能啊!你这种小项目,当然是越重越大的框架越好啊!楼上说的很对!千万不要造车轮!完全是浪费时间!还有说造车轮学东西的。呵呵!你学一辈子东西吧!
发布于 2016-12-13

我们团队也是曾经纠结过这个问题,当时选择了flask+mongoDB,但是现在来看的话,其实用django+sqlite会更合适一些。
django是一个很重的框架,flask是一个很轻的框架,django提供了很多很方便的工具,对很多东西也做了封装(比如models,users,authentication)。django提供的是一套设计模式,按照这个思路去做可以很省力。
而且,django的官方文档相当详尽。自学的话直接照着官网上的tutorial动手试一试就可以很快的入门。


正如它的slogan所言,快速项目开发,django的确是利器。

然而,框架重了,帮你做的事情多了,自然也就降低了你开发的自由度。相比之下,flask的可定制度会更高一些,你可以按照自己的模式来做开发。

如果是小团队,做的也是一些比较“常规”的项目,而且希望项目能够快速开发,快速迭代,那么试一试django,应该不会后悔。
发布于 2016-08-11

HIT-MSTC/mstc-website · GitHub

我们社团的网站~用django和metro ui做的~感兴趣的话你可以看一下~上面是源码。。

具体的地址在这里:hitmstc.sinaapp.com
编辑于 2015-09-20
用tornado吧,Django或flask和tornado这种完整的web服务器相比,真是太low了
编辑于 2015-08-23
django。题主说前后端都懂一点 表明不深 那么先别用flask flask需要你较好的web知识。参考我的个人站点欢迎来访LetflySite的源码把django用熟 再用flask 要有完整的项目练手
发布于 2015-08-01
回答里面竟然还有提node.js的
我推荐用bottle
发布于 2015-09-20
两者各有优劣,你这种情况推荐django,不用判断要装什么extesion,使用flask的话,需要投入部分精力去解决flask-ext
发布于 2015-12-18
我不说其他,就说DJANGO新人会遇到什么坑。。。
django快速堆原型是没问题(时间紧迫),而且用xadmin去替换django.admin(初看比较惊喜,满足大量前期需求,扩展的时候太苦了。。。), 只传递json用django做API接口还是不错的。
完全没用from,和只用少量VIEW。
template几乎不用,用前端模板或其他JS技术,template只适配少量功能,比如富文本编辑器,网上下载了一个django-ueditor(ueditor django 适配)改了不上,部署到template里去了。
如果要用aliyun oss,需要重写一个OssStorage(我是改了开源同时适配了本地和OSS), 还有迁移和学习成本比较多。
用django的wsgi, 完全可以适配tornado,然后django+tornado混用了。。。(这是被django逼的。。。)。
最后变成。。。: django + tornado + supervisor + nginx upstream + 阿里云slb
利益相关:写django写哭得人路过。。。
编辑于 2015-11-02

非程序猿,做这个全凭兴趣
说说自己的体验
先PHP+MySQL搞过一个小项目,不涉及人员登录。
后来又有一个新的项目,我转到Python,用django搞了个半成品,实际功能都已实现,人员登录认证后台爬虫等,但别的原因这个项目暂时搁置
闲暇之余,用flask为别人写了简单的工具,flask太适合这个了
最后目前又有新的需求,一开始准备还是flask写,并想整合之前这三个功能…
本来想一共四个模块,两个是完全独立,另外两个可以联动,再加上用户登录权限算五个
结果用flask,第一部就坑了,怎么弄模块折腾半天,没搞懂,用户登录认证权限,这个自己写太麻烦

最后纠结了半天,换回了django…
自带admin后台,分分钟写好登录退出,一个命令新建模块,数据库操作也省心

我只是想实现我需要的功能,没有太多的精力都耗费自己去搓轮子,而且自己搓出来的轮子还没有人家的好用……

正如,人生苦短,我用Python
Django也一样
阅读全文
0 0