1. 程式人生 > >flask使用資料庫

flask使用資料庫

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:[email protected]{ip}:3306/Flask_test'.format(ip=ip)  # 主資料庫
SQLALCHEMY_BINDS = {
    'other': 'mysql+pymysql://mysql:
[email protected]
{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)