• 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提供的所有功能。

  • 相关阅读:
    SIT/UAT测试
    Oracle密码过期设置和修改密码问题
    1、查询速度慢的原因很多,常见如下几种:
    dbs:apple-notes
    值不能为 null 或为空。参数名: linkText
    Visual Stadio 2015创建WebApplication应用和运行赏析
    HTTP 错误 500.19
    Introduction to ASP.NET Web Programming Using the Razor Syntax (C#)
    vs2015-Azure Mobile Service
    6.1.1 验证注解的使用
  • 原文地址:https://www.cnblogs.com/senlinyang/p/8377949.html
Copyright © 2020-2023  润新知