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

相关推荐
懂点Tech10 分钟前
ctfshow misc28:GIF 高度修改解题与脚本实现
开发语言·windows·python
comedate23 分钟前
SMLib 的 Examples 导读:PyAPI / SM_API / SMLib 三组示例怎么读
python·cad·smlib·examples·sm_api
云和数据.ChenGuang28 分钟前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
摇滚侠38 分钟前
《On Java 中文版 基础卷》阅读笔记 实现隐藏 12
java·数据库·笔记
小向是个Der1 小时前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本
川石课堂软件测试1 小时前
学习软件测试需掌握的一些知识
数据库·python·sql·功能测试·网络协议·mysql·http
@大迁世界1 小时前
Firefox 本地模式:localhost 再见了 ?
前端·架构
万化冥合2 小时前
PyBox屏幕键盘如何辅助演示键盘操作?
python·计算机外设
车软学堂2 小时前
从测试转开发,到底要补什么
网络·人工智能·python·功能测试·单片机·车载系统·自动化
天空依然蔚蓝2 小时前
分享一个自动检测网站在线状态的python程序
python·运维开发·1024程序员节