Flask集成sqlalchemy (学习笔记)

文章目录


前言

本文章讲解的是分模块的创建方式,后续方便管理。如果您有自己的理解,请辗转下一篇文章。


一、安装sqlalchemy

c 复制代码
pip install flask_sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple

二、连接mysql

1.创建一个配置数据库信息的文件(如上图)

代码如下(示例):

c 复制代码
HOSTNAME = "127.0.0.1"
PORT = 3306
USERNAME = "自己数据库用户名"
PASSWORD = "自己数据密码"
DATABASE = "flask_data" // 先自行在navicat中创建这个数据库
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(USERNAME, PASSWORD, HOSTNAME, PORT,DATABASE)
SQLALCHEMY_DATABASE_URI = DB_URI

2.创建sqlalchemy配置文件

3.app.py中引入注册

c 复制代码
import  config
from exts import  db


c 复制代码
# 绑定配置
app.config.from_object(config)
db.init_app(app)

4.创建模型对象

5.在app.py中进行关联

这里引入了model和数据库迁移库

c 复制代码
from models import  UserModel
from flask_migrate import Migrate
# 模型与app主文件进行关联
migrate = Migrate(app,db)
c 复制代码
from exts import  db;
from datetime import  datetime


class UserModel(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True,autoincrement=True)
    username = db.Column(db.String(100), nullable=False)
    password = db.Column(db.String(100), nullable=False),
    email = db.Column(db.String(100),nullable=False,unique = True)
    join_time = db.Column(db.DateTime, default=datetime.now())

6.执行映射语句(迁移命令)

选择用flask_migrate是因为可以保证我们的字段是最新的,因为我们有可能会新增字段啥的。会生成一个文件

c 复制代码
flask db init
flask db migrate
flask db upgrade

完成:就可以看到我们的表生成成功了。

总结

本文介绍了flask集成sqlalchemy数据库操作,这只是针对我个人的见解,你们可以自行试一试。

相关推荐
初恋叫萱萱2 分钟前
技术基石与职场进阶:构建从Web后端到高性能架构的完整知识图谱
前端·架构·知识图谱
polarislove02145 分钟前
10.3[ADC]采样时间和转换时间-嵌入式铁头山羊STM32笔记
笔记·stm32·嵌入式硬件
萧鼎5 分钟前
深入解析 Python 的 Word 模板引擎:docxtpl 全面指南
开发语言·python·word
木木木一6 分钟前
Rust学习记录--C9 错误处理
前端·学习·rust
局外人LZ8 分钟前
libsodium.js:web端与 Node.js 的现代加密工具集,构建前端安全加密体系
前端·javascript·node.js
Yeats_Liao13 分钟前
昇腾910B与DeepSeek:国产算力与开源模型的架构适配分析
人工智能·python·深度学习·神经网络·机器学习·架构·开源
xkxnq13 分钟前
第二阶段:Vue 组件化开发(第 20天)
前端·javascript·vue.js
智航GIS15 分钟前
11.3 Pandas 模块功能概览
python·信息可视化·pandas
浩子智控15 分钟前
开源RPA选择
python·c#·软件工程
「、皓子~16 分钟前
AI 创作系列(34)海狸IM桌面版 v1.1 正式发布:Vite + Electron 性能优化与体验升级
前端·人工智能·electron·开源·开源软件·im