9.3.Models模型

使用Flask-SQLAlchemy管理数据库

Flask-SQLAlchemy 是一个 Flask 扩展,简化了在 Flask 程序中使用 SQLAlchemy 的操作。

SQLAlchemy 是一个很强大的关系型数据库框架,支持多种数据库后台。

SQLAlchemy 提 供了高层 ORM,也提供了使用数据库原生 SQL 的低层功能。

安装Flask-SQLAlchemy

sudo pip3 install flask-sqlalchemy

支持的数据库引擎配置

数据库引擎    URL配置
MySQL    mysql://username:password@hostname/database
Postgres    postgresql://username:password@hostname/database
SQLite(Unix)    sqlite:////absolute/path/to/database
SQLite(Windows)    sqlite:///c:/absolute/path/to/database

在这些 URL 中,hostname 表示 MySQL 服务所在的主机,可以是本地主机(localhost), 也可以是远程服务器。

数据库服务器上可以托管多个数据库,因此 database 表示要使用的 数据库名。

如果数据库需要进行认证,username 和 password 表示数据库用户密令。

程序使用的数据库 URL 必须保存到 Flask 配置对象的 SQLALCHEMY_DATABASE_URI 键中。

配 置对象中还有一个很有用的选项,即 SQLALCHEMY_COMMIT_ON_TEARDOWN 键,将其设为 True 时,每次请求结束后都会自动提交数据库中的变动。

例如:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://root:tp158917@127.0.0.1:3306/artcms"
# 如果设置成 True (默认情况),Flask-SQLAlchemy 将会追踪对象的修改并且发送信号。
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True

# 绑定app至SQLAlchemy
db = SQLAlchemy(app) 
Copyright © shxdledu.cn 2018 all right reserved,powered by Gitbook该文件修订时间: 2019-04-02 22:55:58

results matching ""

    No results matching ""