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

来源:互联网 发布:淘宝常见问题 编辑:程序博客网 时间:2024/06/05 16:51

文章来源—知了课堂的课件


一、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

进行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
原创粉丝点击