这一周我打算作一个 Flask 教程。本文先把 Flask 和 Django 作一个比对,由于我对这两个 Python Web 框架都有实际的开发经验。但愿我能够帮助您选择学习哪一个框架,由于学习一个框架可能会很是耗时 —— 固然也颇有趣!html
注意:我只花了一个星期的时间在 Flask 上,而我已经用了三年的 Django。前端
类似之处
让咱们从类似之处开始。python
1) Flask 和 Django 都是 Python Web 开发框架
它们使您可以使用 Python 在服务端建立 Web 应用,并使用 html 和 CSS 做为前端,或者使用您喜欢的任何前端框架。数据库
2) 可使用 ORM 或对象关系映射
这基本上意味着,您可使用 SQLITE,MYSQL,PostgreSQL 和其余利用 ORM 的数据库。前端框架
-Django 默认使用 ORM
-Flask 默认状况下不具有 ORM 功能。须要时可手动添加它。markdown
3) 模板.
-Django 使用相似于 Jinja 的模板引擎(实际上 Jinja 的灵感来自于 Django 本身的模板系统)网络
小评论:Django 不使用 Jinja,但它有本身的模板引擎。它们看起来很类似,由于正如 Jinja 的网站所说,『它的灵感来自于 Django 的模板系统』。app
-Flask 使用 Jinja 做为其模板引擎。框架
Jinja 基本上就像 HTML 的 Python(python + html = Jinja),它使您可以向 HTML 添加逻辑,例如 if/else
,for
循环和我真正喜欢的模板扩展!学习
Flask 和 Django 之间还有许多类似之处,但对我而言,这是三个主要的类似之处。
差别
Flask 和 Django 的差别仍是蛮大的,接下来咱们一一探讨。
使用 Flask,您能够得到难以置信的灵活性。
您在建立 app.py
(相似于应用程序的主要逻辑),models.py
(在其中存储用于建立数据库表的模型的位置),模板等。您对于应用构建结构有绝对控制权。
使用 Django, 一切都是为您构建的!
settings.py
(相似于应用程序的配置文件),models.py
,urls.py
(全部路由的存储位置),模板等。
这就是为何 Django 的标签是 为 Deadline 所生的框架 的缘由。由于全部功能都是内置的,您无需费心建立文件并思考应用结构如何设计。 一切已准备就绪,您能够当即开始构建应用。
结论
Flask 和 Django 都有优势和不足,而且每一个都有本身的用途和目的。
若是您要开发的应用程序简单而不复杂,那么 Flask 是您的最佳选择。
可是,若是您是初学者而且想使用 Python 进行 Web 开发,我建议您从 Flask 开始。您在 Flask 中学习的内容能够应用于 Django ,所以 Flask 相对来讲更加容易。
另外不少人在学习Python的过程当中,每每由于没有好的教程或者没人指导从而致使本身容易放弃,为此我建了个Python全栈开发交流.裙 :一久武其而而流一思(数字的谐音)转换下能够找到了,里面有最新Python教程项目可拿,不懂的问题有老司机解决哦,一块儿相互监督共同进步本文的文字及图片来源于网络加上本身的想法,仅供学习、交流使用,不具备任何商业用途,版权归原做者全部,若有问题请及时联系咱们以做处理。