flask-sqlalchemy

1、安裝mysql

pip3 install -i https://pypi.douban.com/simple flask-sqlalchemy

2、使用(文件結構blueprint)sql

一、__init__.py數據庫

# 導入並實例化SQLAlchemy
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()

注意:a.SQLAlchemy的實例化必須在導入藍圖以前flask

      b.必須導入models.py --->儲存ORM類session

二、models.pyapp

a.導入dbspa

b.類必須繼承db.Modelcode

三、__init__.py中的create_app()方法中初始化blog

db.init_app(app)

四、在配置文件中配置文件settings.pysqlalchemy

SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:密碼@127.0.0.1:3306/數據庫?charset=utf8"
SQLALCHEMY_POOL_SIZE = 10
SQLALCHEMY_MAX_OVERFLOW = 5
SQLALCHEMY_TRACK_MODIFICATIONS = False

五、models.py

from sqlalchemy import Column
from sqlalchemy import Integer,String
from sqlalchemy import create_engine
from chun import db


class Users(db.Model):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String(32), index=True, nullable=False)
    depart_id = Column(Integer)

六、生成表(app上下文) 忽略,能夠經過數據庫遷移進行

離線腳本文件

from 項目名稱 import db,create_app

    app = create_app()
    app_ctx = app.app_context() # app_ctx = app/g
    with app_ctx: # __enter__,經過LocalStack放入Local中
        db.create_all() # 調用LocalStack放入Local中獲取app,再去app中獲取配置

七、基於ORM的數據操做

使用的是threding.local

from flask import Blueprint
from 項目名稱 import db
from 項目名稱 import models
ind = Blueprint('ind',__name__)


@ind.route('/index')
def index():
    # 使用SQLAlchemy在數據庫中插入一條數據
    # db.session.add(models.Users(name='xx',depart_id=1))
    # db.session.commit()
    # db.session.remove()
    # 查看數據
    result = db.session.query(models.Users).all()
    print(result)
    db.session.remove()

    return 'Index'
相關文章
相關標籤/搜索