您的位置:首页 > 数据库

Flask零基础到项目实战(四)SQLAlchemy数据库(一)

2017-08-28 18:17 573 查看
文章来源—知了课堂的课件

一、SQLAlchemy简介

flask_sqlalchemy是一套ORM框架。

ORM(Object Relationship Mapping):模型关系映射

ORM的好处:可以让我们操作数据库跟操作类的对象一样。一个表可以抽象成一个类,一条数据可以抽象成该类的一个对象。

数据库表:article

id (int)title (string)content (text)
1abcthis is content of you know who
2xyzall of people hava a soft heart
3mmpjust want do it
进行ORM(模型关系映射)之后:

class Article(Model):
# 属性对应数据中的字段
id = Int()
title = String()
content = Text()

# 添加一条数据,就是实例化一个类的对象
article1 = Article(id = 1, title = 'who', content = 'No way!')
add(article1)

# 更新数据库的数据
article1.title = 'you'
update(article1)

# 删除一条数据库的数据
delete(article1)


二、SQLAlchemy连接数据库

1. 初始化和设置数据库配置信息:

使用flask_sqlalchemy中的SQLAlchemy进行初始化:

from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)


2. 设置配置信息:在
config.py
文件中添加以下配置信息:

# dialect+driver://username:password@host:port/database
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = ''
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo'

SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST
,PORT,DATABASE)

SQLALCHEMY_TRACK_MODIFICATIONS = False


3. 在主
app
文件中,添加配置文件:

app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)


4. 做测试,看有没有问题:

db.create_all()


如果没有报错,说明配置没有问题,如果有错误,可以根据错误进行修改。

实例:

main.py

# encoding:utf8

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config

app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)

# 执行下面这句如果没有问题就算连接数据库成功
db.create_all()

@app.route('/')
def hello_world():
return 'Hello World!'

if __name__ == '__main__':
app.run(debug=True)


config.py

 初始化一个数据库连接。

# encoding:utf8

# 数据库连接遵循这个语句
# dialect+driver://username:password@host:port/database

DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = ''
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo'

# 使用一种Python3的语法将连接数据的各种参数连接起来

SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST
, PORT, DATABASE)
# 不加这句话会有警告
SQLALCHEMY_TRACK_MODIFICATIONS = False


出现这个意味着成功连接数据库

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: