Django和Flask区别

目录

1.基本介绍与特色

2.性能

3.项目结构


1.基本介绍与特色

Django

Django是一个开源的Python Web应用框架,采用了MVT的框架模式,即模型M,视图V和模版T,最早于2005年发布。Django被认为是"大而全"的重量级Web框架,其自带大量的常用工具和组件(比如数据库ORM组件、用户认证、权限管理、分页、缓存), 甚至还自带了管理后台Admin,适合快速开发功能完善的企业级网站。Django自带免费的数据SQLite,同时支持MySQL与PostgreSQL等多种数据库。

Flask

Flask是一个由Python语言写成的轻量级Web框架,最早由奥地利人Armin Ronacher于2010年发布。Flask最显著的特点是它是一个“微”框架,轻便灵活,但同时又易于扩展。默认情况下,Flask 只相当于一个内核,不包含数据库抽象层(ORM)、用户认证、表单验证、发送邮件等其它Web框架经常包含的功能。Flask依赖用各种灵活的扩展(比如邮件Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy)来给Web应用添加额外功能。Flask的这种按需扩展的灵活性是很多程序员喜欢它的地方。Flask没有指定的数据库,可以用MySQL,也可以用 NoSQL。

2.性能

两者速度差不多,并无本质差异

3.项目结构

Django项目的结构布局是刚性的,每个人写的项目结构最后都差不多,可以清楚地知道在哪个APP的哪个文件夹里找到哪个文件(media目录, static目录, template目录,views.py, models.py, forms.py, etc)。

在项目结构上,Flask是很灵活的,可以随意地组织自己的代码,1000个APP说不定就有有1000种组织代码的方式。不同的人之间因为习惯不同可能导致最后项目结构布局差异很大, 造成后期代码难以阅读和维护。如果都严格遵循Flask推荐的代码布局,那么你会发现最后将得到和Django类似的项目结构布局。

使用Django能帮你节省不少寻找或开发第三方扩展的精力。开发企业级网站通常由一个团队来进行,Django可插拔式的APP设计思想和刚性的项目结构便于团队后期维护项目代码。从个性上而言,喜欢自由灵活,就选Flask。如果是结果导向型且怕麻烦的,建议直接Django。

你可能感兴趣的:(django,flask,python)