zoukankan      html  css  js  c++  java
  • Flask从入门到精通之使用Flask-SQLAlchemy管理数据库

      Flask-SQLAlchemy 是一个Flask 扩展,简化了在Flask 程序中使用SQLAlchemy 的操作。SQLAlchemy 是一个很强大的关系型数据库框架,支持多种数据库后台。SQLAlchemy 提供了高层ORM,也提供了使用数据库原生SQL 的低层功能。

      和其他大多数扩展一样,Flask-SQLAlchemy 也使用pip 安装:

    pip install flask-sqlalchemy

      在Flask-SQLAlchemy 中,数据库使用URL 指定。最流行的数据库引擎采用的数据库URL格式如下表:

    MySQL mysql://username:password@hostname/database
    Postgres postgresql://username:password@hostname/database
    SQLite(Unix) sqlite:////absolute/path/to/database
    SQLite(Windows) sqlite:///c:/absolute/path/to/database

      在这些URL 中,hostname 表示MySQL 服务所在的主机,可以是本地主机(localhost),也可以是远程服务器。数据库服务器上可以托管多个数据库,因此database 表示要使用的数据库名。如果数据库需要进行认证,username 和password 表示数据库用户密令。

      SQLite 数据库不需要使用服务器,因此不用指定hostname、username 和password。URL 中的database 是硬盘上文件的文件名。

      程序使用的数据库URL 必须保存到Flask 配置对象的SQLALCHEMY_DATABASE_URI 键中。配置对象中还有一个很有用的选项,即SQLALCHEMY_COMMIT_ON_TEARDOWN 键,将其设为True时,每次请求结束后都会自动提交数据库中的变动。其他配置选项的作用请参阅Flask-SQLAlchemy 的文档。下面的例子展示了如何初始化及配置一个简单的MySQL 数据库

    from flask import Flask
    from flask.ext.script import Manager
    from flask.ext.sqlalchemy import SQLAlchemy
    
    app = Flask(__name__)
    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost:3306/test?charset=utf8mb4'
    app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
    
    db = SQLAlchemy(app)

      db 对象是SQLAlchemy 类的实例,表示程序使用的数据库,同时还获得了Flask-SQLAlchemy提供的所有功能。

  • 相关阅读:
    分别用Excel和python进行日期格式转换成时间戳格式
    数据分析之数据质量分析和数据特征分析
    BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 阅读笔记
    Matlab的BP神经网络工具箱及其在函数逼近中的应用
    js 深拷贝+浅拷贝
    git fork了项目之后修改再push给项目
    微信小程序的开发学习(2)
    Django学习
    小程序的开发学习
    JavaScript-闭包理解
  • 原文地址:https://www.cnblogs.com/senlinyang/p/8377949.html
Copyright © 2011-2022 走看看