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数据库操作,这只是针对我个人的见解,你们可以自行试一试。

相关推荐
西柚与蓝莓6 分钟前
报错:{‘csrf_token‘: [‘The CSRF token is missing.‘]}
前端·flask
姓学名生8 分钟前
李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕
vscode·python·深度学习·ffmpeg·github·视频
猿类崛起@15 分钟前
百度千帆大模型实战:AI大模型开发的调用指南
人工智能·学习·百度·大模型·产品经理·大模型学习·大模型教程
黑客-雨18 分钟前
从零开始:如何用Python训练一个AI模型(超详细教程)非常详细收藏我这一篇就够了!
开发语言·人工智能·python·大模型·ai产品经理·大模型学习·大模型入门
Pandaconda23 分钟前
【Golang 面试题】每日 3 题(三十九)
开发语言·经验分享·笔记·后端·面试·golang·go
孤独且没人爱的纸鹤32 分钟前
【机器学习】深入无监督学习分裂型层次聚类的原理、算法结构与数学基础全方位解读,深度揭示其如何在数据空间中构建层次化聚类结构
人工智能·python·深度学习·机器学习·支持向量机·ai·聚类
viperrrrrrrrrr732 分钟前
大数据学习(40)- Flink执行流
大数据·学习·flink
l1x1n035 分钟前
No.35 笔记 | Python学习之旅:基础语法与实践作业总结
笔记·python·学习
编程小筑1 小时前
R语言的编程范式
开发语言·后端·golang
技术的探险家1 小时前
Elixir语言的文件操作
开发语言·后端·golang