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

相关推荐
xing25163 分钟前
pytest下allure
开发语言·python·pytest
眸笑丶8 分钟前
使用 Python 调用 Ollama API 并调用 deepseek-r1:8b 模型
开发语言·python
计算机毕设指导610 分钟前
基于Springboot学生宿舍水电信息管理系统【附源码】
java·spring boot·后端·mysql·spring·tomcat·maven
dexianshen11 分钟前
配置mysql8.0使用PXC实现高可用
python
中国loong13 分钟前
pandas连接mysql数据库
python
计算机-秋大田18 分钟前
基于Spring Boot的兴顺物流管理系统设计与实现(LW+源码+讲解)
java·vue.js·spring boot·后端·spring·课程设计
带娃的IT创业者41 分钟前
《Python实战进阶》专栏 No.3:Django 项目结构解析与入门DEMO
数据库·python·django
gu2041 分钟前
c#编程:学习Linq,重几个简单示例开始
开发语言·学习·c#·linq
m0_528723811 小时前
HTML中,title和h1标签的区别是什么?
前端·html
Dark_programmer1 小时前
html - - - - - modal弹窗出现时,页面怎么能限制滚动
前端·html