flask 数据库概述:
sql_sqlite_flask-alchemy
flask-alchemy配置
连接--mysql mysql://usr:pwd@host/db_name
sqlite (测试/小型数据库) sqlite:////绝对路径/db_name
连接flask-sqlalchemy
from flask-sqlalchemy import SQLAlchemy
数据库使用前提需要一个变量来装当前的项目路径,绝对路径:
basedir=path.abspath(path.dirname(__file__))
app.config['SQlALCHEMY_DATABASE_URI'] =\
'sqlite:///' + os.path.join(basedir, 'data.sqlite')
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
设置DB的全局变量:
db = SQLAlchemy(app)
假设的类和用户的类映射到数据库:(完成两个实体类的定义)
class Role(db.Model):
__tablename__ = 'roles'
id = db.Column()
name = db.Column(db.String,nullable=True)
class User(db.Model):
__tablename__ = 'users'
id = db.Column()
name = db.Column(db.String,nullable=True)
password = db.Column(db.String,nullable=True)
实体定义:
db.Column()
字符类型多
列属性,参数
实体关系
db.relationship
db.ForeignKey