Flask 中的数据库
Flask 本身不支持数据库,相信你已经听说过了。 正如表单那样,这也是 Flask 有意为之。对使用的数据库插件自由选择,岂不是比被迫适应其中之一,更让人拥有主动权吗?
绝大多数的数据库都提供了 Python 客户端包,它们之中的大部分都被封装成 Flask 插件以便更好地和 Flask 应用结合。数据库被划分为两大类,遵循 关系 模型的一类是关系数据库,另外的则是非关系数据库,简称 NoSQL ,表现在它们不支持流行的关系查询语言 SQL (译者注:部分人也宣称 NoSQL 代表不仅仅只是 SQL)。虽然两类数据库都是伟大的产品,但我认为关系数据库更适合具有结构化数据的应用程序,例如用户列表,用户动态等,而 NoSQL 数据库往往更适合非结构化数据。 本应用可以像大多数其他应用一样,使用任何一种类型的数据库来实现,但是出于上述原因,我将使用关系数据库。
在 第三章 中,我向你展示了第一个 Flask 扩展,在本章中,我还要用到两个。 第一个是 Flask-SQLAlchemy ,这个插件为流行的 SQLAlchemy 包做了一层封装以便在 Flask 中调用更方便,类似 SQLAlchemy 这样的包叫做 Object Relational Mapper ,简称 ORM。 ORM 允许应用程序使用高级实体(如类,对象和方法)而不是表和 SQL 来管理数据库。 ORM 的工作就是将高级操作转换成数据库命令。
SQLAlchemy 不只是某一款数据库软件的 ORM,而是支持包含 MySQL 、 PostgreSQL 和 SQLite 在内的很多数据库软件。简直是太强大了,你可以在开发的时候使用简单易用且无需另起服务的 SQLite,需要部署应用到生产服务器上时,则选用更健壮的 MySQL 或 PostgreSQL 服务,并且不需要修改应用代码(译者注:只需修改应用配置)。
确认激活虚拟环境之后,利用如下命令来安装 Flask-SQLAlchemy 插件:
(venv) $ pip install flask-sqlalchemy
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论