Flask-SQLALchemy的使用
1、初始化和设置数据库配置信息:
*使用flask_sqlalchemy中的SQLALchemy进行初始化:
from flask_sqlalchemy import SQLALchemy
app = Flask(__name__)
db = SQLALchemy(app)
2、设置配置信息:在config.py文件中添加以下配置信息
#encoding:utf-8
#dialect+driver://username:password@host:port/database
DIALECT = 'mysql'
DRIVER = 'mysqldb'
USERNAME = 'root'
PASSWORD = 'root'
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'db_demo1'
#注意,这里不能写成utf-8,数据库不认识,需要写成utf8
SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER,
USERNAME,PASSWORD,HOST,PORT,DATABASE)
SQLALCHEMY_TRACK_MODIFYCATIONS = False
3、在主app文件中,添加配置文件:
app.config.from_object(config)
4、做测试,连接数据库是否成功
db.create_all()
如果没有报错,说明配置文件配置正确;如果有错误,可根据错误进行修改,如config.py中添加:SQLALCHEMY_TRACK_MODIFYCATIONS = False
例如:
config.py文件:
#encoding:utf-8 #dialect+driver://username:password@host:port/database DIALECT = 'mysql' DRIVER = 'mysqldb' USERNAME = 'root' PASSWORD = 'root' HOST = '127.0.0.1' PORT = '3306' DATABASE = 'db_demo1' SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT,DRIVER, USERNAME,PASSWORD,HOST,PORT,DATABASE) SQLALCHEMY_TRACK_MODIFYCATIONS = False
db_demo.py文件
from flask import Flask,config from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config.from_object(config) db = SQLAlchemy(app) db.create_all() @app.route('/') def index(): return 'index' if __name__ == '__main__': app.run(debug=True)