Flask零基础到项目实战(四)SQLAlchemy数据库(一)
来源:互联网 发布:淘宝常见问题 编辑:程序博客网 时间:2024/06/05 16:51
文章来源—知了课堂的课件
一、SQLAlchemy简介
- flask_sqlalchemy是一套ORM框架。
- ORM(Object Relationship Mapping):模型关系映射
- ORM的好处:可以让我们操作数据库跟操作类的对象一样。一个表可以抽象成一个类,一条数据可以抽象成该类的一个对象。
数据库表:article
进行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:utf8from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyimport configapp = 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/databaseDIALECT = '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
出现这个意味着成功连接数据库
阅读全文
0 0
- Flask零基础到项目实战(四)SQLAlchemy数据库(一)
- Flask零基础到项目实战(四)SQLAlchemy数据库(四)
- Flask零基础到项目实战(四)SQLAlchemy数据库(二)
- Flask零基础到项目实战(四)SQLAlchemy数据库(三)
- Flask零基础到项目实战(一)
- Flask零基础到项目实战(五)Flask-Script
- Flask零基础到项目实战(六)cookie和session(一)
- Flask零基础到项目实战(二)第一个flask程序
- Flask零基础到项目实战(三)Jinja2模板系统 (二)
- Flask零基础到项目实战(六)cookie和session--操作session(二)
- Flask零基础到项目实战(三)Jinja2模板系统
- Flask零基础到项目实战(六)模型分文件
- Flask零基础到项目实战(七)请求方法、g对象和钩子函数
- flask-SQLAlchemy错误(一)
- flask-sqlalchemy(1)
- flask sqlalchemy(二)
- Flask系列教程(4)——SQLAlchemy数据库
- Flask学习(三):SQLAlchemy无法创建数据库
- Maven学习
- 快速排序的Java和Scala实现
- 算法竞赛入门经典 第三章习题题解
- DBCP:使用DBCP连接池出现NoClassDefFoundError和ClassNotFoundException错误
- Linux命令帮助文档的使用
- Flask零基础到项目实战(四)SQLAlchemy数据库(一)
- php面向对象补充
- Android 弹性动画的三种实现方式
- 机器学习系列直播--使用对抗神经网络(GANs)生成猫
- Android DexIndexOverflowException
- EventBus使用
- C++ 多继承和虚继承的内存布局
- Vue2 几种常见开局方式
- 简单总结AssetBundle的打包/解包