1

Flask-SQLAlchemy

安装pip install flask_sqlalchemy -i https://pypi.douban.com/simple  

 

flask目录结构

 

apps -- __init__py 里面加入Flask-SQLAlchemy第三方组件

  1. # -*- coding: utf-8 -*-  
  2. from flask import Flask  
  3. 导入Flask-SQLAlchemy中的SQLAlchemy  
  4. from flask_sqlalchemy import SQLAlchemy  
  5.     
  6. db = SQLAlchemy()  # 初始化SQLAlchemy  
  7.     
  8. my_app = Flask(__name__)  
  9.     
  10. def create_app():  
  11.     # 配置数据库信息  
  12.     
  13.     # SQLALCHEMY_DATABASE_URI 配置 SQLAlchemy 的链接字符串儿  
  14.     my_app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:redhat@192.168.32.71:3306/my_sql?charset=utf8"  
  15.     
  16.     my_app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False  # 去掉异常警告信息  
  17.     
  18.     my_app.config["SQLALCHEMY_POOL_SIZE"] = 5  # SQLALCHEMY_POOL_SIZE 配置 SQLAlchemy 的连接池大小  
  19.     
  20.     
  21.     my_app.config["SQLALCHEMY_POOL_TIMEOUT"] = 15  # SQLALCHEMY_POOL_TIMEOUT 配置 SQLAlchemy 的连接超时时间  
  22.     
  23.     # 初始化SQLAlchemy , 本质就是将以上的配置读取出来  
  24.     db.init_app(my_app)  # 初始化flask-app  
  25.     
  26.     # 注册蓝图  
  27.     # 导包循环引用,哪里注册那里导入  
  28.     from .views.acc import acc  
  29.     from .views.user import user  
  30.     my_app.register_blueprint(acc) # 注册路由  
  31.     my_app.register_blueprint(user)  
  32.     return my_app  

 

apps – models.py 里面加入Flask-SQLAlchemy

  1. # -*- coding: utf-8 -*-  
  2. from apps import db, create_app  
  3.     
  4. Base = db.Model  
  5. Base = declarative_base()  
  6. 每一次我们在创建数据表的时候都要做这样一件事  
  7. 然而Flask-SQLAlchemy已经为我们把 Base 封装好了  db  
  8.     
  9. class User(db.Model):  
  10.     # 默认__tablename__  数据库名默认是类的小写  
  11.     __table_args__ = {"useexisting": True}  
  12.     
  13.     id = db.Column(db.Integer, primary_key=Trueautoincrement=True)  
  14.     name = db.Column(db.String(32))  
  15.     
  16.     
  17. if __name__ == '__main__':  
  18.     my_app = create_app()  
  19.     db.drop_all(app=my_app)  
  20.     db.create_all(app=my_app)  

 

apps – views – user.py 里面加入Flask-SQLAlchemy

  1. # -*- coding: utf-8 -*-  
  2. from flask import Blueprint, jsonify  
  3. from apps.models import User  
  4. from apps import db  
  5.     
  6. user = Blueprint('user', __name__)  
  7.     
  8. @user.route('/user')  
  9. def user_func():  
  10.     # 还记不记得我们的  
  11.     # from sqlalchemy.orm import sessionmaker  
  12.     # Session = sessionmaker(engine)  
  13.     # db_sesson = Session()  
  14.     # 现在不用了,因为 Flask-SQLAlchemy 也已经为我们做好会话打开的工作  
  15.     admin = User(name='admin')  
  16.     db.session.add(admin)  
  17.     db.session.commit()  
  18.     return 'user'  
  19.     
  20. @user.route('/user_list')  
  21. def user_list():  
  22.     users = User.query.first()  
  23.     ret = {"name": users.name}  
  24.     return jsonify(ret)  

 

 

 

 

posted @ 2019-12-26 16:15  小白森  阅读(175)  评论(0编辑  收藏  举报