Flask之SQLAlchemy
-
简介
SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。
SQLAlchemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。
SQLAlchemy首次发行于2006年2月,并迅速地在Python社区中最广泛使用的ORM工具之一,不亚于Django的ORM框架。
Flask-SQLAlchemy是在Flask框架的一个扩展,其对SQLAlchemy进行了封装,目的于简化在 Flask 中 SQLAlchemy 的 使用,提供了有用的默认值和额外的助手来更简单地完成日常任务。
-
安装
安装Flask-SQLAlchemy
pip install flask-sqlalchemy
如果使用的是MySQL数据库,还需要安装MySQL的Python客户端库
pip install mysqlclient
-
数据库连接设置
在Flask中使用Flask-SQLAlchemy需要进行配置,主要配置以下几项:
-
SQLALCHEMY_DATABASE_URI
数据库的连接信息:Postgres: postgresql://user:password@localhost/mydatabase MySQL: mysql://user:password@localhost/mydatabase Oracle: oracle://user:[email protected]:1521/sidname SQLite (注意开头的四个斜线): sqlite:////absolute/path/to/foo.db
-
SQLALCHEMY_TRACK_MODIFICATIONS
在Flask中是否追踪数据修改; -
SQLALCHEMY_ECHO
显示生成的SQL语句,可用于调试;
这些配置参数需要放在Flask的应用配置(
app.config
)中from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # 配置mysql class Config(object): # 配置数据库 SQLALCHEMY_DATABASE_URI = 'mysql://root:[email protected]:3306/toutiao' # 是否追踪数据的改变,设置为False即可,后面会废弃。 SQLALCHEMY_TRACK_MODIFICATIONS = False # 是否显示sqlalchemy执行的sql语句 SQLALCHEMY_ECHO = True app.
-