zoukankan      html  css  js  c++  java
  • 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)  

     

     

     

     

  • 相关阅读:
    <C++ QT4 GUI 编程>第一章笔记
    生成snmp++动态库
    PHP 5.3 新特性
    编译安装-Subversion 1.8.5
    Xen入门系列四【Xen 管理实操】
    Xen入门系列三【Xen 管理工具 xm】
    COMET探索系列三【异步通知服务器关闭数据连接实现思路】
    PHP生成二维码【谷歌API+qrcode+圆角Logo】
    SSH免密码登陆详解
    COMET探索系列二【Ajax轮询复用模型】
  • 原文地址:https://www.cnblogs.com/py-web/p/12102663.html
Copyright © 2011-2022 走看看