flask 數(shù)據(jù)庫概述:
sql_sqlite_flask-alchemy
flask-alchemy配置
連接--mysql ? ? ? ? mysql://usr:pwd@host/db_name
sqlite (測試/小型數(shù)據(jù)庫) ? ?sqlite:////絕對路徑/db_name
連接flask-sqlalchemy
from flask-sqlalchemy import SQLAlchemy
數(shù)據(jù)庫使用前提需要一個變量來裝當(dāng)前的項目路徑乏冀,絕對路徑:
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
設(shè)置DB的全局變量:
db = SQLAlchemy(app)
假設(shè)的類和用戶的類映射到數(shù)據(jù)庫:(完成兩個實體類的定義)
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() ? ?
字符類型多
列屬性,參數(shù)
實體關(guān)系
db.relationship
db.ForeignKey?