Flask开发(二十)Flask访问数据库 Flask-SQLAlchemy初始化

内容纲要

本篇导读:

  • Flask-SQLAlchemy配置文件

在使用Flask-SQLAlchemy中,插入、修改、删除操作均有数据库会话管理,会话用db.session表示。在准备吧数据写入数据库前,要先将数据库添加到绘画中,然后调用commit()方法提交会话。

数据库会话是为了保证数据的一致性,避免因部分更新导致数据不一致。提交操作把绘画对象全部写入数据库,如果数据写入过程中发生错误,通过db.session.rollback()方法实现会话提交数据前的状态。在Flask-SQLAlchemy中,查询操作是通过query对象操作数据。最基本的查询是返回表中的所有数据,可以通过过滤器进行更精确地数据库查询。

数据库配置文件一般要求独立成一个文件,便于管理和迁移。在Python3.x中的配置文件如下:

USER_NAME = 'root'
PASSWORD = '123456'
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo1'
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format\
    (USER_NAME,PASSWORD,HOST,PORT,DATABASE)
SQLALCHEMY_DATABASE_URI=DB_URI
SQLALCHEMY_TRACK_MODIFICATIONS=False
# SQLALCHEMY_ECHO=True

'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format\ (USER_NAME,PASSWORD,HOST,PORT,DATABASE)是固定写法。下面在app.py中加载数据库配置文件:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config

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

@app.route('/')
def hello_world():
    return 'Hello World!'
if __name__ == '__main__':
    app.run(debug=True)

运行以上代码,如果没有报错,说明配置成功。将DATABASE 修改成不存在的数据库,则看到有错误信息输出。

阅读剩余
THE END