Flask零基础到项目实战(四)SQLAlchemy数据库(一)
2017-08-28 18:17
573 查看
文章来源—知了课堂的课件
ORM(Object Relationship Mapping):模型关系映射
ORM的好处:可以让我们操作数据库跟操作类的对象一样。一个表可以抽象成一个类,一条数据可以抽象成该类的一个对象。
数据库表:article
进行ORM(模型关系映射)之后:
2. 设置配置信息:在
3. 在主
如果没有报错,说明配置没有问题,如果有错误,可以根据错误进行修改。
实例:
main.py
config.py
初始化一个数据库连接。
出现这个意味着成功连接数据库
一、SQLAlchemy简介
flask_sqlalchemy是一套ORM框架。ORM(Object Relationship Mapping):模型关系映射
ORM的好处:可以让我们操作数据库跟操作类的对象一样。一个表可以抽象成一个类,一条数据可以抽象成该类的一个对象。
数据库表:article
id (int) | title (string) | content (text) |
---|---|---|
1 | abc | this is content of you know who |
2 | xyz | all of people hava a soft heart |
3 | mmp | just want do it |
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
出现这个意味着成功连接数据库
相关文章推荐
- Flask零基础到项目实战(四)SQLAlchemy数据库(二)
- Flask零基础到项目实战(三)Jinja2模板系统 (二)
- QX项目实战-11.基础架构试验二:反序列化对象、重写数据库
- Flask零基础到项目实战(四)SQLAlchemy数据库(三)
- Flask零基础到项目实战(六)cookie和session(一)
- QX项目实战-10.基础架构实验一:传递消息、序列化对象和数据库封装
- Flask零基础到项目实战(六)cookie和session--操作session(二)
- Flask零基础到项目实战(七)请求方法、g对象和钩子函数
- Flask零基础到项目实战(四)SQLAlchemy数据库(四)
- Flask零基础到项目实战(三)Jinja2模板系统
- Flask零基础到项目实战(五)Flask-Script
- 手把手0基础项目实战 · 微服务架构下的数据库分库分表实践
- Flask零基础到项目实战(一)
- Flask零基础到项目实战(二)第一个flask程序
- Flask零基础到项目实战(六)模型分文件
- 基础爬虫框架及运行(选自范传辉Python爬虫开发与项目实战)
- Flash ActionScript3.0基础+进阶实战开发配两个项目(解除冰封、十滴水)
- TX2440 项目实战-2440init.s 祥解 (ADS1.2编译) arm汇编基础学习终结
- Java基础实战_Bank项目_项目需求.txt
- Asp.Net Core 2.0 项目实战(4)ADO.NET操作数据库封装、 EF Core操作及实例