flask-sqlalchemy使用,flask-migrate使用,flask项目演示
目录
flask-sqlalchemy使用,flask-migrate使用,flask项目演示
今日内容详细
1 flask-sqlalchemy使用
# 集成到flask中 直接使用sqlalchemy
# 有个第三方flask-sqlalchemy 帮助咱们快速的集成到flask中
# 使用flask-sqlalchemy集成
from flask import Flask
# 1 导入
from flask_sqlalchemy import SQLAlchemy
from models import Book
app = Flask(__name__)
# 这里导入的是配置文件 就是数据库的那些配置
app.config.from_pyfile('settings.py')
'''
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:222@127.0.0.1:3306/aaa?charset=utf8"
SQLALCHEMY_POOL_SIZE = 5
SQLALCHEMY_POOL_TIMEOUT = 30
SQLALCHEMY_POOL_RECYCLE = -1
# 追踪对象的修改并且发送信号
SQLALCHEMY_TRACK_MODIFICATIONS = False
'''
# 2 实例化得到对象
db = SQLAlchemy()
# 3 将db注册到app中
db.init_app(app)
@app.route('/')
def index():
# 4 全局的db.session是线程安全的
db.session.add(Book(name='xxx'))
db.session.commit()
return '增加成功'
if __name__ == '__main__':
app.run()
# 5 models.py 中继承Model
####使用原生flask-sqlalchemy
from manage import db
class Book(db.Model):
__tablename__ = 'books'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(32))
2 flask-migrate使用
# 表发生变化 都会有记录 自动同步到数据库中
# 原生的sqlalchemy 不支持修改表的
# flask-migrate可以实现类似于django的
python manage.py makemigrations # 记录
python manage.py migrate # 真正的同步到数据库
# 使用步骤
0 flask:2.2.2 flask-script:2.0.3
1 第一步:安装,依赖于flask-script
pip3.8 install flask-migrate==2.7.0
2 在app所在的py文件中
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
manager = Manager(app)
Migrate(app, db)
manager.add_command('db', MigrateCommand)
在main下
manager.run() # 以后使用python manage.py runserver 启动项目
3 以后第一次执行一下
python manage.py db init # 生成一个migrations文件夹 里面以后不要动 记录迁移的编号
4 以后在models.py 写表 加字段 删字段 改参数
5 只需要执行
python manage.py db migrate # 记录
python manage.py db upgrade # 真正的同步进去
3 flask项目演示
# 0 创建数据库 movie
# 1 pycharm打开项目
# 3 在models中,注释,解开注释,右键执行,迁移表
# 4 在models中恢复成原来的
# 5 在命令行中python manage.py runserver运行项目
# 6 访问前台和后台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现