python的基础以及提高

Python day44_Flask入门

2018-07-12  本文已影响0人  g_s_007

数据库

ORM

ORM图解

10.jpg

优点 :

缺点 :

Flask-SQLAlchemy安装及设置

安装

在创建的flask 虚拟环境中 比如:py3_plask 输入下面指令:

pip install flask-sqlalchemy

如果连接的是 mysql 数据库,需要安装 mysqldb:

pip install flask-mysqldb

数据库连接配置

在 Flask-SQLAlchemy 中,数据库使用URL指定,而且程序使用的数据库必须保存到Flask配置对象的 SQLALCHEMY_DATABASE_URI 键中。

配置如下

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:mysql@127.0.0.1:3306/my_library'
# 动态追踪修改设置,如未设置只会提示警告
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
#查询时会显示原始SQL语句
app.config['SQLALCHEMY_ECHO'] = True
db = SQLAlchemy(app)

配置好后,去mysql中创建配置中的数据库my_library

$ mysql -uroot -pmysql
$ create database mylibrary charset utf8;

其他配置,仅做了解

名字 备注

SQLALCHEMY_DATABASE_URI 用于连接的数据库 URI 。例如:sqlite:////tmp/test.dbmysql://username:password@server/db

SQLALCHEMY_BINDS 一个映射 binds 到连接 URI 的字典。更多 binds 的信息见用 Binds 操作多个数据库(http://docs.jinkan.org/docs/flask-sqlalchemy/binds.html#binds)。

SQLALCHEMY_ECHO 如果设置为Ture, SQLAlchemy 会记录所有 发给 stderr 的语句,这对调试有用。(打印sql语句)

SQLALCHEMY_RECORD_QUERIES 可以用于显式地禁用或启用查询记录。查询记录 在调试或测试模式自动启用。更多信息见get_debug_queries()。

SQLALCHEMY_NATIVE_UNICODE 可以用于显式禁用原生 unicode 支持。当使用 不合适的指定无编码的数据库默认值时,这对于 一些数据库适配器是必须的(比如 Ubuntu 上 某些版本的 PostgreSQL )。

SQLALCHEMY_POOL_SIZE 数据库连接池的大小。默认是引擎默认值(通常 是 5 )

SQLALCHEMY_POOL_TIMEOUT 设定连接池的连接超时时间。默认是 10 。

SQLALCHEMY_POOL_RECYCLE 多少秒后自动回收连接。这对 MySQL 是必要的, 它默认移除闲置多于 8 小时的连接。注意如果 使用了 MySQL , Flask-SQLALchemy 自动设定 这个值为 2 小时。

连接其他数据库

本整理数据主要用mysql数据库

完整连接 URI 列表请跳转到 SQLAlchemy 下面的文档 (Supported Databases) 。这里给出一些 常见的连接字符串:

常用的SQLAlchemy字段类型

11.JPG

常用的SQLAlchemy列选项

12.JPG

常用的SQLAlchemy关系选项

13.JPG
上一篇 下一篇

猜你喜欢

热点阅读