ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> MySql >> Flask 框架学习三

Flask 框架学习三(1/4)

来源:网络整理     时间:2016-03-14     关键词:

本篇文章主要介绍了"Flask 框架学习三",主要涉及到方面的内容,对于MySql感兴趣的同学可以参考一下: ( 上接Flask 框架学习(二) )4、数据库SQLAlchemy文档4.1 引入Flask在可使用的数据库包上没有限制,所以可以使用MySQL、Postgr...

( 上接Flask 框架学习(二) )

4、数据库

SQLAlchemy文档

4.1 引入

Flask在可使用的数据库包上没有限制,所以可以使用MySQL、Postgres、SQLite、Redis、MongoDB或者CouchDB等等任意一个。
这里要引入一个概念。

ORM(对象关系映射,Object Relational Mapping)是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。

听着就感觉很蛋疼,我们即将使用的Flask-SQLAlchemy扩展就是一个已经封装了关系对象映射(ORM)的一个插件。

而ORMs允许数据库程序用对象的方式替代表和SQL语句。面向对象的操作被ORM转化为数据库命令。这样就意味着,不用sql语句,让Flask-SQLAlchemy为我们执行sql语句。

简单的说,就是如SQLAlchemy或MongoEngine让你像操作常规Python对象那样,而不是数据库实体表、文档或查询语句。

应该稍微明白一点了,在之后的例子中能够很快就明白的。
此处我们以链接Mysql为例,在我们使用数据库的时候,需要在Flask配置对象中的SQLALCHEMY_DATABASE_URI键中进行配置。另一个有用的选项是SQLALCHEMY_COMMIT_ON_TEARDOWN,可以设置为True来启用自动提交数据库更改在每个请求中。
下述为.py文件的配置部分:

from flask.ext.sqlalchemy import SQLAlchemy 
from flask import Flask
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] ="mysql://root:@localhost/flask"
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS']=True
db = SQLAlchemy(app)

SQLALCHEMY_DATABASE_URI键的配置时,规定使用url来确定数据库,几个常用数据库的配置URL如下:

Flask 框架学习三

hostname是指托管MySQL服务的服务器(本地localhost或是远程服务器)
database指出要使用的数据库名
username和 password是数据库用户凭证
我的URL配置是

mysql://root:@localhost/flask

即我使用的用户名是root,而且没有密码,然后连接本地服务器,使用了名为flask的数据库。

现在我们例子如下:

相关图片

相关文章