版权声明:本文为博主原创文章,转载请注明来源 https://blog.csdn.net/beijibing2hao/article/details/83928544
flask使用数据库代码。
#coding=utf-8
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
ip = '127.0.0.1'
#设置连接数据库的URL
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://mysql:cy888888@{ip}:3306/Flask_test'.format(ip=ip) # 主数据库
SQLALCHEMY_BINDS = {
'other': 'mysql+pymysql://mysql:cy888888@{ip}:3306/other'.format(ip=ip), # 其它数据库
}
app.config['SQLALCHEMY_BINDS'] = SQLALCHEMY_BINDS # 绑定其它数据库
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # 暂时不知道什么用
# app.config['SQLALCHEMY_ECHO'] = True #查询时会显示原始SQL语句
db = SQLAlchemy(app)
#定义用户表
class User(db.Model): # 类名第一个字母大写
__tablename__ = 'users' # 表名,一般为类名小写加s
__bind_key__ = 'other' # 表要放在哪个数据库
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True) # 主键一般这样写
username = db.Column(db.String(255), unique=True, nullable=False)
passwordHash = db.Column(db.String(255), nullable=False) # 密码要加密一下
isLogin = db.Column(db.Boolean, default=False, nullable=False)
#定义角色表
class Role(db.Model):
__tablename__ = 'roles'
# __bind_key__ = 'Flask_test' # 放在主数据库中,不需要加这行
id = db.Column(db.Integer, primary_key=True, nullable=False, autoincrement=True)
roleName = db.Column(db.String(255), unique=True, nullable=False)
authority = db.Column(db.Integer, unique=True, nullable=False) #100:admin 10:operator 1:auditor
if __name__ == '__main__':
db.drop_all() # 删除表
db.create_all() # 创建表
# host='127.0.0.1'只允许本机访问,如果允许外部访问,可设置为'0.0.0.0'。debug=True为调试模式。更改完代码,不用关闭项目重新启动,即可生效
app.run(host='127.0.0.1', port=5000,debug=True)