python flask sqlalchemy连接数据库流程介绍

1、安装flask_sqlalchemy和pymysql包

pip install flask-sqlalchemy

pip install pymysql

2、进行配置

使用Flask-SQLAlchemy扩展操作数据库,首先需要通过URL建立数据库连接,必须保存到Flask配置对象的SQLALCHEMY_DATABASE_URI中。

HOSTNAME = '127.0.0.1'
PORT     = '3306'
DATABASE = 'flask_test'
USERNAME = 'root'
PASSWORD = 'root'
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE)
app.config['SQLALCHEMY_DATABASE_URI'] = DB_URI

其中HOSTNAME为路由地址

PORT为端口号,我在创建数据库时没有更改,所以用的默认的3306端口号

DATABASE为数据库名字

后面两个参数为数据库用户名和密码

3、创建SQLALchemy实例

db = SQLAlchemy(app)

我这里创建的实例记为db

4、创建ORM类

创建这个类必须继承db.Model !!!

class Article(db.Model):
    __tablename__ = "article"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(200), nullable=False)
    content = db.Column(db.Text, nullable=False)

第二行设置数据库表名为article。第三行设置id项,将其设置为整数项,并且设置为主键以及自动增长。第四行设置title项,将其设置为含200个字符的字符串,并设置不能非空。第五行设置content项,将其设置为db.Text格式并且设置不能非空。

5、创建表

db.create_all()

然后就会发现,数据库中多出一张表:

当然,这张表目前还是空的

6、在表中增删查改数据

我们可以在一个视图函数中执行这些操作,当然也可以直接执行

@app.route("/article")
def article_view():
    # 添加数据
    article = Article(title="钢铁是怎样炼成的", content="xxx")
    db.session.add(article)
    db.session.commit()
    # # 查询数据
    # article = Article.query.filter_by(id=1)[0]
    # print(article.title)
    #
    # # 修改数据
    # article = Article.query.filter_by(id=1)[0]
    # article.content = "yyy"
    # db.session.commit()
    #
    # # 删除数据
    # article = Article.query.filter_by(id=1)[0]
    # db.session.delete(article)
    # db.session.commit()
    return "数据操作成功"

添加数据时没加id,是因为我们之前设置id的autoincrement为True,于是它会自动增加。

执行完发现数据库中多出了如下:

其他三步结果请自行查看。当然,如果想观察每一步的结果,在执行添加数据前最好最好先将其他三步加上注释,对于其他三步也是一样。

到此这篇关于python flask sqlalchemy连接数据库流程介绍的文章就介绍到这了,更多相关python连接数据库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python Flask框架使用介绍

    目录 1. 数据库连接池 2. wtfroms 3. 信号 3.1 内置信号 3.2 使用信号 3.3 自定义信号 4. 多app应用 5. flask-script 5.1 快速使用 5.2 自定制命令 1. 数据库连接池 使用 pymsql 链接数据库 导入:pip3 install dbutils pool.py 创建数据库连接池 from dbutils.pooled_db import PooledDB import pymysql POOL = PooledDB( creator=p

  • python Flask框架之HTTP请求详解

    我们的浏览器访问网站时,默认为发送了一个HTTP的GET请求. 在浏览网站时,会经常填写表单,比如填写用户名密码.点击登录后,会跳转到我们的主页. 接下来,我们实现这个案例. 首先我们先写一个登录页面 <!doctype html> <html lang="en"> <head> <title>Hello from Flask</title> </head> <body> <form action

  • Python+ Flask实现Mock Server详情

    目录 一.Mock介绍 1.什么是Mock 2.Mock的三种典型应用场景 3.Mock的作用 4.Mock实现的3种方式 二.环境搭建 三.Mock的案例 一.Mock介绍 1.什么是Mock 模拟接口 接口Mock测试:在接口测试中,对于某些不容易构造或者不容易获取的接口,可以用一个模拟接口来代替 2.Mock的三种典型应用场景 依赖的接口未实现 依赖的接口响应速度慢 针对接口模拟各种异常 3.Mock的作用 可以用来解除测试对象对外部服务的依赖,使得测试用例可以独立运行 模拟异常逻辑,异常

  • Python Flask框架开发之运用SocketIO实现WebSSH方法详解

    Flask 框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是最简单的一种方式,Flask中封装了一个flask_socketio库该库可以直接通过pip仓库安装,如下内容将重点简述SocketIO库在Flask框架中是如何被应用的,最终实现WebSSH命令行终端功能,其可用于在Web浏览器内实现SSH命令行执行. 首先我们先来看一下SocketIO库是如何进行通信的,对于前端部分需要引入socket.io这个框架,然后就是利用该框架内提供的各类函数实现创建

  • Python使用Flask Migrate模块迁移数据库

    目录 前言 安装 初始化 项目结构 三大命令 前言 本篇文章,阐述一下Flask中数据库的迁移 为什么要说数据库迁移呢? 比如我们以前有一个数据库,里面的信息有 id, name现在我想再加一个gender属性,应该怎么办呢?不可能直接把数据库删除掉吧.然后重新创建一个,因此本文介绍一种,通过数据库迁移的方法,可以保留原始的数据,并完成添加新的一列的方法. 安装 直接使用pip install flask-migrate即可 初始化 项目结构 # exts.py from flask_sqlal

  • Python Flask中Cookie和Session区别详解

    目录 前言 安装 创建虚拟环境 进入虚拟环境 安装 flask Cookie的使用 Session的使用 前言 本篇文章,阐述一下Flask中Cookie和Session 为什么要说Cookie和Session呢? 答:因为http请求是无状态的,怎么理解呢?当你访问B站时,如果你没有Cookie或者Session,B站就认为你是一个没有登录的用户.如果你有Cookie或Session,那么B站就知道你登录了,并且知道你是谁.所以可以把跟你相关的资料返回 给你两者的区别: 答:Cookie是明文

  • Python+Flask实现自定义分页的示例代码

    目录 前言 后端 后端思路 后端代码 前端 前端思路 前端代码 前言 分页操作在web开发中几乎是必不可少的,而我们的flask不像django自带封装好的分页操作,要分页则需要依赖flask-sqlalchemy中的分页查询,但是分页这么重要且简单的操作,自己实现必须要会这个思维,我也在网上看了一些,但大体上不合我意,因此这篇我带大家手写一个分页操作! 后端 后端思路 写这个分页操作前我们首先要思考我们需要什么?我们需要将我们需要的东西封装到一个字典里,然后传给前端!那么这里我先说分页算法,很

  • Python的flask常用函数route()

    目录 一.route()路由概述 二.静态路由和动态路径 方式1:静态路由 方式2:动态路由 三.route()其它参数 1.methods=[‘GET’,‘POST’] 一.route()路由概述 功能:将URL绑定到函数 路由函数route()的调用有两种方式:静态路由和动态路由 二.静态路由和动态路径 方式1:静态路由 @app.route(“/xxx”) xxx为静态路径 如::/index / /base等,可以返回一个值.字符串.页面等 from flask import Flask

  • python flask sqlalchemy连接数据库流程介绍

    1.安装flask_sqlalchemy和pymysql包 pip install flask-sqlalchemy pip install pymysql 2.进行配置 使用Flask-SQLAlchemy扩展操作数据库,首先需要通过URL建立数据库连接,必须保存到Flask配置对象的SQLALCHEMY_DATABASE_URI中. HOSTNAME = '127.0.0.1'PORT     = '3306'DATABASE = 'flask_test'USERNAME = 'root'P

  • Python flask sqlalchemy的简单使用及常用操作

    目录 前言 flask sqlalchemy的配置使用 sqlalchemy的增删改查 查询数据 增加数据 修改数据 删除数据 总结 前言 说到面向对象,大家都不陌生.关系型数据库也是后端日常用来存储数据的,但数据库是关系型的,因此,ORM通过对象模型和数据库的关系模型之间建立映射,我们就能像操作对象一样来操作数据库. ORM的优点主要是面向对象编程,不需写原生SQL,用操作对象的方式访问数据.当然,缺点就是当遇到复杂的操作时,ORM就不那么好写了,还有就是加了一层映射,执行效率低于原生sql.

  • Python Flask微信小程序登录流程及登录api实现代码

    一.先来看看效果 接口请求返回的数据: 二.官方登录流程图 三.小程序登录流程梳理: 1.小程序端调用wx.login 2.判断用户是否授权 3.小程序端访问 wx.getUserInfo 4.小程序端js代码: wx.login({ success: resp => { // 发送 res.code 到后台换取 openId, sessionKey, unionId console.log(resp); var that = this; // 获取用户信息 wx.getSetting({ su

  • Python Flask搭建yolov3目标检测系统详解流程

    [人工智能项目]Python Flask搭建yolov3目标检测系统 后端代码 from flask import Flask, request, jsonify from PIL import Image import numpy as np import base64 import io import os from backend.tf_inference import load_model, inference os.environ['CUDA_VISIBLE_DEVICES'] = '

  • Flask表单与表单验证实现流程介绍

    目录 表单介绍 WTForms 和 Flask-WTF 创建表单 表单字段 验证器 表单介绍 说到表单,在HTML中表单的创建时通过<form>标签实现的,在<form>标签内部,字段通过使用<input>标签等定义.比如一个表单内部有用户名,密码框这些,都是通过<input>,<label>标签等实现的. 一个简单的表单: <form> First name:<br> <input type="text&

  • Python Flask实现图片验证码与邮箱验证码流程详细讲解

    目录 1. 图片验证码 1.1 工具类-utility.py 1.2 控制层-user.py 2. 邮箱验证码 2.1 准备 2.2 工具类-utility.py 2.3 控制层-user.py 1. 图片验证码 1.1 工具类-utility.py 将所有和图片验证码有关的方法放在类 ImageCode import random import string from io import BytesIO from PIL import Image, ImageFont, ImageDraw c

  • Python使用sqlalchemy模块连接数据库操作示例

    本文实例讲述了Python使用sqlalchemy模块连接数据库操作.分享给大家供大家参考,具体如下: 安装: pip install sqlalchemy # 安装数据库驱动: pip install pymysql pip install cx_oracle 举例:(在url后面加入?charset=utf8可以防止乱码) from sqlalchemy import create_engine engine=create_engine('mysql+pymysql://username:p

  • Python实现将DNA序列存储为tfr文件并读取流程介绍

    最近导师让我跑模型,生物信息方向的,我一个学计算机的,好多东西都看不明白.现在的方向大致是,用深度学习的模型预测病毒感染人类的风险. 既然是病毒,就需要拿到它的DNA,也就是碱基序列,然后把这些ACGT序列丢进模型里面,然后就是预测能不能感染人类,说实话,估计结果不会好,现在啥都是transformer,而且我看的这篇论文,我认为仅仅从DNA序列大概预测不出什么东西. 但是就那样吧,现在数据去哪里下载,需要下载什么样的数据,下载完成后怎么处理我还是一脸懵逼,但是假设上面都处理好了,然后即使把数据

  • Python flask框架定时任务apscheduler应用介绍

    目录 基本使用 trigger启动方式 cron启动方式 使用装饰器定时启动任务 flask-apscheduler将apscheduler移植到了flask应用中,使得在flask中可以非常方便的使用定时任务了,除此之外,它还有如下几个特性 根据Flask配置加载调度器配置 根据Flask配置加载任务调度器 允许指定服务器运行任务 提供RESTful API管理任务,也就是远程管理任务 为RESTful API提供认证 下载安装 pip install flask-apscheduler 基本

随机推荐