当前位置: 首页 > news >正文

一周学会Flask3 Python Web开发-使用SQLAlchemy动态创建数据库表

锋哥原创的Flask3  Python Web开发 Flask3视频教程:

2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili

前面我们定义了模型,我们可以通过sqlalchemy对象提供的create_all()方法来映射和动态创建数据库表。

因为我们用到了模块化蓝图blueprint,这个sqlalchemy对象会在app.py和蓝图模块之间互相调用,导致循环依赖问题。所以我们的解决方案是单独把sqlalchemy对象放扩展文件下,然后app.py和各个蓝图模块分别单独调用。

具体实现方案如下:

先在项目目录下新建exts.py扩展python文件。

# flask-sqlalchemy
from flask_sqlalchemy import SQLAlchemy

# 创建SQLAlchemy对象
db = SQLAlchemy()

app.py里面引入exts里的db对象:

from exts import db

然后通过init_app方法初始化sqlalchemy

# sqlalchemy初始化
db.init_app(app)

student.py里也换成exts里的db:

from exts import db

最后我们app.py里调用db的create_all()方法创建数据库表:

with app.app_context():
    # 根据模型建表
    db.create_all()

控制台输出:

db_flask数据库下动态生成了t_grade表:

表结构如下:

http://www.dtcms.com/a/59610.html

相关文章:

  • Elastic:AI 会开始取代网络安全工作吗?
  • uniapp,自绘仪表盘组件(基础篇)
  • 【VUE】day01-vue基本使用、调试工具、指令与过滤器
  • js 网络安全 网络安全 hw
  • C++入门——引用
  • 【数据结构与算法】LeetCode: 动态规划
  • clion+arm-cm3+MSYS-mingw +jlink配置用于嵌入式开发
  • React基础之useMeno
  • LangChain4j集成AI大模型的两种方式
  • 前端循环:for、forEach、map 指南
  • [AtCoder Beginner Contest 396] F - Rotated Inversions
  • Maven快速入门指南
  • 自回归模型(Autoregressive, AR)解读
  • 平时作业(偷懒)
  • 一、Jenkins简单配置(使用语言、凭证、SSH)
  • WinUI 3 支持的三种窗口 及 受限的窗口透明
  • FPGA设计时序约束用法大全保姆级说明
  • 基于LabVIEW的脚本化子VI动态生成
  • 将图片存储至阿里云 OSS
  • 2025数据存储技术风向标:解析数据湖与数据仓库的实战效能差距
  • 基于yolov8的土豆马铃薯叶子病害检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
  • OSPF报文分析
  • 深度学习模型Transformer核心组件—前馈网络FFN
  • python如何把多维列表转换为dataframe
  • 【RabbitMQ | 第1篇】Erlang 和 RabbitMQ 的下载安装
  • easyconnect下服务器联网
  • 大白话JavaScript原型链查找机制与继承实现原理
  • Service与Ingress:如何将你的应用暴露给世界
  • 嵌入式 ARM Linux 系统构成(6):应用层(Application Layer)
  • VSTO(C#)Excel开发1:起步 示例项目