Flask集成sqlalchemy (学习笔记)

文章目录

  • 前言
  • 一、安装sqlalchemy
  • 二、连接mysql
    • 1.创建一个配置数据库信息的文件(如上图)
    • 2.创建sqlalchemy配置文件
    • 3.app.py中引入注册
    • 4.创建模型对象
    • 5.在app.py中进行关联
    • 6.执行映射语句(迁移命令)
  • 总结


前言

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


一、安装sqlalchemy

pip install flask_sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple

二、连接mysql

在这里插入图片描述

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

代码如下(示例):

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中引入注册

import  config
from exts import  db

在这里插入图片描述
在这里插入图片描述

# 绑定配置
app.config.from_object(config)
db.init_app(app)

4.创建模型对象

在这里插入图片描述

5.在app.py中进行关联

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

from models import  UserModel
from flask_migrate import Migrate
# 模型与app主文件进行关联
migrate = Migrate(app,db)
from exts import  db;
from datetime import  datetimeclass 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是因为可以保证我们的字段是最新的,因为我们有可能会新增字段啥的。会生成一个文件
在这里插入图片描述

flask db init
flask db migrate
flask db upgrade

完成:就可以看到我们的表生成成功了。
在这里插入图片描述

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455723.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Html/Vue浏览器下载并重命名文件

Html/Vue浏览器下载并重命名文件 row是上方图片的数据对象 download(row) {const link document.createElement(a);link.style.display none;// 设置下载地址link.setAttribute(href, row.url);// 设置文件名(这里可以重新设置名字,下载之后的文件就是你重新命名…

王源携手匡威,官宣全球代言人身份,引全网热议

近日,匡威隆重宣布,青年偶像王源荣膺其全球品牌代言人。在官宣消息发布前夕,王源与匡威的合作便已在微博热搜上占据头榜,备受广大网友关注。 随着官宣及产品上线的钟声敲响,王源的粉丝们迅速行动起来,积极支…

Linux运维篇-ansible的使用

目录 ansible简介ansible架构1、连接插件2、核心模块3、自定义模块4、插件5、剧本6、主机清单 ansible的执行过程安装Ansibleansible的使用ansible.cfg文件修改添加主机清单方式一方式二方式三 测试主机清单连接 ansible简介 简单来说,ansible就是一个自动化运维工…

数学物理方法第五版梁昆淼课后答案详解PDF电子版

序言 梁昆淼《数学物理方法》第四版面世以来,随着学科的发展, 物理类各专业“数学物理方法”课程的教学要求与学时发生了变化。为了适应物理类人才培养的需要,在第四版的基础上, 根据多年的教学实践, 对本书进行了修订…

K8S部署

二进制搭建Kubernetes v1.20 k8s集群master01:192.168.10.80 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02:192.168.10.20 k8s集群node01:192.168.10.18 kubelet kube-proxy docker k8s集群node02…

数据导入导出

1.数据加载 - LOAD 语法 LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename; 操作: 建表 CREATE TABLE myhive.test_load( dt string comment 时间(时分秒) , user_id string comment 用户 ID, word string comment 搜索词 , u…

Android compose 重建流程1

前言 本文是笔者学习Compose是如何自动触发UI刷新的笔记,可能缺乏一定可读性和教导性.(建议阅读参考文献更具启发性) 使用以下BOM作为研究环境. composeBom "2024.04.01" androidx-compose-bom { group "androidx.compose", name "compose-bom…

【linux】物理卷、卷组、逻辑卷

概述 初次了解物理卷、卷组和逻辑卷这些概念,大概理了下这三个概念之间的关系,只是一点皮毛,用于大致理解: 个人感觉很像虚拟化的过程,物理卷就相当于物理设备;卷组相当于把这些物理设备分组了&#xff1…

有效三角形的个数---双指针法

目录 一&#xff1a;题目 二&#xff1a;算法原理 三&#xff1a;编写代码 一&#xff1a;题目 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 二&#xff1a;算法原理 三&#xff1a;编写代码 int triangleNumber(vector<int>& nums) {//1.优…

解锁PDF权限密码

目录 背景: 定义与功能&#xff1a; 过程&#xff1a; 主要功能&#xff1a; 使用方式&#xff1a; 使用限制&#xff1a; 注意事项&#xff1a; 总结&#xff1a; 背景: 前段时间自己设置了PDF文件的许可口令&#xff0c;忘了口令导致自己无法编辑内容等&#xff0c;这…

养宠家庭必备,双十一特辑——性价比高的宠物空气净化器推荐

对于养宠家庭来说&#xff0c;宠物空气净化器简直就是仅次于空调的人类最伟大发明。尤其是到了宠物疯狂掉毛的换毛季节&#xff0c;宠物空气净化器成为铲屎官们抵御满屋浮毛纷飞必不可少的清洁神器&#xff0c;除了价格有点高之外&#xff0c;可以说是没有什么缺点了。 养宠七年…

WEB前端使用标签制作网页

需要使用HTML的一些基本标签制作网页 基本代码如下: <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><form action"#" method"post" enctype"text/…

激活函数(sigmoid、tanh、ReLu)

1️⃣ 激活函数的作用 激活函数为神经网络引入非线性&#xff0c;如果没有激活函数&#xff0c;即使网络层数再多&#xff0c;也只能处理线性可分问题。 在机器学习中&#xff0c;线性可分问题指的是可以通过一条直线&#xff08;或高维空间的一个超平面&#xff09;将数据完全…

GS-SLAM Dense Visual SLAM with 3D Gaussian Splatt 论文阅读

项目主页 2024 CVPR (highlight) https://gs-slam.github.io/ 摘要 本文提出了一种基于3D Gaussian Splatting方法的视觉同步定位与地图构建方法。 与最近采用神经隐式表达的SLAM方法相比&#xff0c;本文的方法利用实时可微分泼溅渲染管道&#xff0c;显著加速了地图优化和…

Django学习- ORM基础操作_创建数据

ORM操作&#xff1a; 管理器对象&#xff1a; 创建数据&#xff1a; Django shell 想要操作模型对象&#xff0c;首先我们需要把它引进Django shell中 >>> from bookstore.models import Book >>> b1 Book.objects.create(titleAI, pub清华大学出版社, pr…

开挖 Domain - 前奏

WPF App 主机配置 Microsot.Extension.Hosting 一键启动&#xff08;配置文件、依赖注入&#xff0c;日志&#xff09; // App.xaml.cs 中定义 IHost private readonly IHost _host Host.CreateDefaultBuilder().ConfigureAppConfiguration(c > {_ c.SetBasePath(Envi…

电脑必备快捷键大全

#1024程序员节|征文# 小伙伴们&#xff01;想要提高学习效率&#xff0c;成为电脑高手吗&#xff1f;今天&#xff0c;我为大家整理了一份超实用的电脑快捷键清单&#xff01;无论是写论文、做PPT还是数据录入&#xff0c;这些快捷键都能帮你事半功倍&#xff01;快收藏起来吧&…

PDF.js的使用及其跨域问题解决

目录 一、PDF.js 简介 二、使用配置和步骤 1.引入PDF.js 2.加载PDF文件 3.渲染PDF页面 三、在Vue中使用PDF.js示例 1.安装PDF.js 2.在Vue组件中使用 四、在原生js中使用PDF.js示例 1.加载PDF文件并渲染页面 五、解决跨域问题 1.服务器配置 2.使用代理服务器 下面介…

编辑器、节点树、基础设置

目录 节点 查看当前节点拥有的属性 Position&#xff08; 父节点&#xff09; 保存 主场景 运行 编辑器操作 添加子节点 收藏节点 Sprite2D节点 控制节点是否可见 当父节点不可见&#xff0c;它的子节点也会不可见 基础编辑工具&#xff08;场景浏览器左上角&#x…

052_python基于Python高校岗位招聘和分析平台

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…