本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验。希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 —— 当然也很有趣!
相似之处
让我们从相似之处开始。
No. 1
Flask 和 Django 都是 Python Web 开发框架,它们使您能够使用 Python 在服务端创建 Web 应用,并使用 html 和 CSS 作为前端,或者使用您喜欢的任何前端框架。
No. 2
可以使用 ORM 或对象关系映射,这基本上意味着,您可以使用 SQLITE,MYSQL,PostgreSQL 和其他利用 ORM 的数据库。
温馨提示:
Django 默认使用 ORM
Flask 默认情况下不具备 ORM 功能。需要时可手动添加它。
No. 3
Django 使用类似于 Jinja 的模板引擎(实际上 Jinja 的灵感来自于 Django 自己的模板系统)
Django 不使用 Jinja,但它有自己的模板引擎。它们看起来很相似,因为正如 Jinja 的网站所说,『它的灵感来自于 Django 的模板系统』。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 相对来说更加容易。