flask数据库配置使用

2018-10-24  本文已影响0人  人心难测唯真心不负

一、flask-migrate插件

在Django中,每次添加新的模型类,只需要执行生成迁移文件,执行迁移操作;
    python manager.py makemigrations
    python manager.py migrate

在Flask中,先创建一个路由对应视图函数中db.create_all()方法,每次添加新的模型类,都要调用该路由才能创建;
flask是否可以类似于Django一样?   flask-migrate插件
https://flask-migrate.readthedocs.io/en/latest/
pip install Flask-Migrate
# 实例化Migrate对象
migrate = Migrate(app, db)
# 添加db命令
manager.add_command('db', MigrateCommand)
$ python manage.py db init      # 创建迁移迁移目录(只需要执行一次)
$ python manage.py db migrate   # 生成迁移文件
$ python manage.py db upgrade   # 执行迁移(生成表单)
$ python manage.py db downgrade # 删除表单
$ python manage.py db --help    # 查看帮助文档

二、数据库配置

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////' + os.path.join(BASE_DIR, 'app.db')
# SQLALCHEMY_DATABASE_URI
dialect+driver://username:password@host:port/databasename
dialect 数据库
driver  驱动
username 数据库用户名
password 数据库密码
host     数据库主机
port     数据库端口号
databasename 数据库 库名
- 安装驱动
    pip install pymysql

- 创建数据库
    create databases xxxx charset=utf8;

- 配置数据库
    URI = 'mysql+pymysql://root:123456@127.0.0.1:3306/xxx'
    app.config['SQLALCHEMY_DATABASE_URI'] = URI

三、项目拆分

flask-script
flask-blueprint
flask-session
flask-sqlalchemy
flask-migrate
__init__.py # 包
views.py    # 路由、视图函数
models.py   # 模型类
settings.py # 配置
ext.py      # 扩展
上一篇 下一篇

猜你喜欢

热点阅读