Flask Web 开发 数据库

这个以sqlite开头的路径,是一个指向数据库文件的地址



Flask Web 开发 数据库_第1张图片



from flask.ext.sqlalchemy import SQLAlchemy
basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] =\
'sqlite:///' + os.path.join(basedir, 'data.sqlite')                                          #这个是指定了数据库文件的地址
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True        
db = SQLAlchemy(app)



接下来,我们就要为我们的数据来定义模型了

类变量__tablename__ 定义在数据库中使用的表名。如果没有定义__tablename__,FlaskSQLAlchemy 会使用一个默认名字,但默认的表名没有遵守使用复数形式进行命名的约定,所以最好由我们自己来指定表名。其余的类变量都是该模型的属性,被定义为db.Column类的实例。


db.Column 类构造函数的第一个参数是数据库列和模型属性的类型。表5-2 列出了一些可用的列类型以及在模型中使用的Python 类型。

Flask Web 开发 数据库_第2张图片



Flask Web 开发 数据库_第3张图片



随后,要连接数据库,需要对2个表的类做以下添加才可以实现

class Role(db.Model):
# ...
users = db.relationship('User', backref='role')                         #relationship()第一个参数是制定了他连接的关系的对面是哪个类
class User(db.Model):
# ...
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))    #ForeignKey()里的内容是指连接的是roles表里面的id的值!!!

Flask Web 开发 数据库_第4张图片




你可能感兴趣的:(Python,Flask,---Flask,web,开发)