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

《每天5分钟用Flask搭建一个管理系统》 第6章:数据库集成

第6章:数据库集成

6.1 数据库的选择和配置

在Flask中集成数据库,首先需要选择一个数据库系统。常见的选择包括SQLite、MySQL、PostgreSQL等。选择后,需要配置数据库连接字符串。

示例代码:配置数据库

from flask import Flask
from flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'  # 配置SQLite数据库
db = SQLAlchemy(app)
6.2 SQLAlchemy ORM简介

SQLAlchemy是一个流行的SQL工具包和对象关系映射(ORM)系统,可以用于Flask应用中。

示例代码:安装SQLAlchemy

pip install Flask-SQLAlchemy
6.3 数据模型的创建

在Flask中使用SQLAlchemy定义数据模型,这些模型将映射到数据库表。

示例代码:定义数据模型

class User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(20), unique=True, nullable=False)email = db.Column(db.String(120), unique=True, nullable=False)def __repr__(self):return f'<User {self.username}>'
6.4 数据库迁移和版本控制

数据库迁移是修改数据库结构(如添加、删除表或字段)的过程。Flask-Migrate是一个扩展,用于处理数据库迁移。

示例代码:安装Flask-Migrate

pip install Flask-Migrate

示例代码:初始化Flask-Migrate

from flask_migrate import Migratemigrate = Migrate(app, db)

示例代码:创建和应用迁移

flask db init  # 初始化迁移目录
flask db migrate -m "Initial migration."  # 生成迁移脚本
flask db upgrade  # 应用迁移到数据库
6.5 操作数据库

使用SQLAlchemy ORM,您可以轻松地添加、查询、更新和删除数据库记录。

示例代码:添加新用户

new_user = User(username='JohnDoe', email='john@example.com')
db.session.add(new_user)
db.session.commit()

示例代码:查询用户

user = User.query.filter_by(username='JohnDoe').first()
6.6 总结

本章介绍了如何在Flask应用中集成数据库,包括选择数据库、配置SQLAlchemy、创建数据模型、以及使用Flask-Migrate进行数据库迁移和版本控制。

http://www.lryc.cn/news/388676.html

相关文章:

  • pandas读取和处理Excel文件的基础应用1
  • electron vite react 创建一个项目
  • 鸿蒙使用 @Builder扩展出来的布局数据更新没法更新UI
  • 湖南省教育网络协会莅临麒麟信安调研教育网络数字化建设及教育信创发展情况
  • 论文阅读_优化RAG系统的检索
  • STC8/32 软硬件I2C通讯方式扫描I2C设备地址
  • Linux——数据流和重定向,制作镜像
  • Windows 11的市场份额越来越大了,推荐你升级!
  • 微服务架构中的调试难题与分布式事务解决方案
  • 银行家算法-操作系统中避免死锁的最著名算法
  • PCL 基于点云RGB颜色的区域生长算法
  • cube-studio开源一站式机器学习平台,在线ide,jupyter,vscode,matlab,rstudio,ssh远程连接,tensorboard
  • 1976 ssm 营地管理系统开发mysql数据库web结构java编程计算机网页源码Myeclipse项目
  • 技术派全局异常处理
  • 对于mysql 故障的定位和排查
  • 什么是电航空插头插座连接器有什么作用
  • 数据挖掘常见算法(分类算法)
  • 【深度学习】调整加/减模型用于体育运动评估
  • 重生之算法刷题之路之链表初探(三)
  • 哪吒汽车,正在等待“太乙真人”的拯救
  • HDC Cloud 2024 | CodeArts加速软件智能化开发,携手HarmonyOS重塑企业应用创新体验
  • 基于隐马尔可夫模型的股票预测【HMM】
  • PostgreSQL Replication Slots
  • centos7搭建zookeeper 集群 1主2从
  • Arrays.asList 和 java.util.ArrayList 区别
  • 代码随想录-Day44
  • CriticGPT: 用 GPT-4 找出 GPT-4 的错误
  • SpringBoot:SpringBoot中调用失败如何重试
  • 2024-06-24 问AI: 在大语言模型中,什么是ray?
  • 仓库管理系统09--修改用户密码