flask框架建立資料庫(MySQL)
阿新 • • 發佈:2018-12-10
示例
# -*- coding:utf-8 -*- from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) class Config(object): """配置引數""" # sqlalchemy的配置引數 # 使用者名稱:root # 密碼:123 # 資料庫:test1 SQLALCHEMY_DATABASE_URI = "mysql://root:[email protected]:3306/test1" # 設定sqlalchemy自動跟蹤資料庫 SQLALCHEMY_TRACE_MODIFICATIONS = True app.config.from_object(Config) db = SQLAlchemy(app) #初始化資料庫 # 建立資料庫模型類 class Role(db.Model): __tablename__ = "tbl_roles" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(32), unique=True) # 資料庫中的欄位 users = db.relationship("User", backref="role") # 非資料庫中的欄位,方便查詢 class User(db.Model): __tablename__ = "tbl_users" # 表名 id = db.Column(db.Integer, primary_key=True) # 主鍵 name = db.Column(db.String(64), unique=True) # 資料庫中的欄位 email = db.Column(db.String(64), unique=True) password = db.Column(db.String(128)) role_id = db.Column(db.Integer, db.ForeignKey("tbl_roles.id")) # 外來鍵 @app.route("/") def index(): return "index page" if __name__ == "__main__": db.drop_all() # 清除資料庫中的所有資料 db.create_all() # 建立資料庫模型類中的所有表 role1 = Role(name="admin") # 新增資料 role2 = Role(name="stuff") db.session.add_all([role1, role2]) db.session.commit() user1 = User(name="a", email="
[email protected]", password="abc", role_id=role1.id) user2 = User(name="b", email="[email protected]", password="abc", role_id=role2.id) user3 = User(name="c", email="[email protected]", password="abc", role_id=role2.id) user4 = User(name="d", email="[email protected]", password="abc", role_id=role1.id) db.session.add_all([user1, user2, user3, user4]) db.session.commit() # app.run(debug=True)
測試
首先建立資料庫test1,然後執行以上程式碼。
進行測試…