【python】flask+pymysql 实现Web端操作数据库!

news2024/11/25 1:59:05

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2 中则使用 mysqldb。

PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。

一.环境配置

flask库和pymysql库使用pip接口进行安装:

pip install flask
pip install pymysql

pip接口详细说明可以看:https://blog.csdn.net/pengneng123/article/details/129556320

二.实际应用

1.首先先实现mysql的主程序,新建xxx.py文件:

import pymysql
class Mysql(object):
    def __init__(self):
        try:
            self.db = pymysql.connect(host="localhost",user="root",password="密码",database="数据库名称")
            #游标对象
            self.cursor = self.db.cursor()
            print("连接成功!")
        except:
            print("连接失败!")
 	# 查询数据函数
    def getdata(self):
        sql = "select * from 表名"
        #执行sql语句
        self.cursor.execute(sql)
        #获取所有的记录
        results = self.cursor.fetchall()
        return results


    #关闭
    def __del__(self):
        self.db.close()

2.然后新建另一个xxx.py文件,运行flask框架,调用编好的html,实现web端输出数据库表内容。

flask文件

from flask import Flask,render_template,request

app = Flask(__name__)

@app.route("/select",methods=['GET','POST'])
def select():
    #调用
    db = Mysql()
    results = db.getdata()
    return render_template("select.html",results=results)



if __name__ == "__main__":
    app.run(app.run(debug=True,port=5000,host='127.0.0.1'))

html文件

<body>
<div>
    <h4>查询数据</h4>
    <table border="1" width="30%" weight="30%">
        <thead>
        <tr>
            <th>id</th>
            <th>worknumber</th>
            <th>name</th>
            <th>gender</th>
            <th>age</th>
            <th>idcard</th>
            <th>entrydate</th>
        </tr>
        </thead>
        <tbody>
            {% for result in results %}
                <tr>
                    <td>{{ result[0]}}</td>
                    <td>{{ result[1]}}</td>
                    <td>{{ result[2]}}</td>
                    <td>{{ result[3]}}</td>
                    <td>{{ result[4]}}</td>
                    <td>{{ result[5]}}</td>
                    <td>{{ result[6]}}</td>
                    <td><a href="/delete?id={{ result[0] }}"><button>删除</button></a></td>
                    <td><a href="/submit_insert"><button>插入</button></a></td>
                    <td><a href="/submit_update"><button>修改</button></a></td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
</div>

3.运行flask文件,网页输入http://127.0.0.1:5000/select

输出:

 

三.总结

删除、插入、修改等操作同查询一样,这边就不放代码了!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Modbus协议基于modscan 的设备数据收发过程模拟

Modbus协议基于modscan 的设备数据收发过程模拟 一、基本介绍二、工具使用说明2.1 Modsim32的使用 - 模拟从设备 - 生成设备数据2.1.1 新建虚拟设备 - modsim文件2.1.2 打开虚拟设备 - modsim文件2.1.3 连接设置2.1.3.1 modbus /tcp连接2.1.3.2 COM连接 2.1.4 配置 - 设置数据自…

python 加速(1)

文章目录 简单步骤像Python一样做torch 的一切安装Cmake安装 Torch &#xff08;GPU&#xff09;CMakeLists.txt试用小样设置 CLion 环境 Cuda配置VS C 环境建上手的文件step1: interpolation.cppstep2: interpolation_kernel.custep3: include/ utils.hstep4: setup.pystep5: …

FPGA_学习_08_有限状态机

状态机是FPGA编程必学内容之一&#xff0c;因为状态机在项目用的特别多。 那为什么状态机这么重要呢&#xff1f; 在写这篇blog之前&#xff0c;搜到CSDN一位大佬的博客&#xff0c;有一句话令我醍醐灌顶&#xff1a; “FPGA不同于CPU的一点特点就是CPU是顺序执行的&#xff0c…

操作系统页面置换算法详解(OPT算法、FIFO算法、LRU算法解释+缺页数计算)

名人说&#xff1a;一花独放不是春&#xff0c;百花齐放花满园。——《增广贤文》 作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 〇、页面置换算法是什么&#xff1f;一、OPT算法1、算法介绍2、举例二、FIFO算法1、…

【嵌入式模型转换】算能盒子SE5 芯片板子BM1684

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言1.环境准备2. 开发机安装环境 前言 官网文档指引&#xff1a;https://doc.sophgo.com/sdk-docs/v23.03.01/docs_latest_release/docs/SophonSDK_doc/zh/html/c…

ffmpeg capture decklink

确保decklink设备已经接入 lspci | grep Blackm02:00.0 Multimedia video controller: Blackmagic Design DeckLink SDI Micro 确保decklink驱动已经正确安装 lsmod | grep blackmagicblackmagic_io 2068480 2 确保ffmpeg已经启用decklink&#xff0c;如何配置之前的博文已经…

高磁场型霍尔效应测试系统

高磁场型霍尔效应测试系统由&#xff1a;电磁铁、电磁铁电源、高精度恒流源高精度电压表、高斯计、霍尔效应样品支架、标准样品、系统软件。用于测量半导体材料的载流子浓度、迁移率、电阻率、霍尔系数等重要参数&#xff0c;而这些参数是了解半导体材料电学特性必须预先掌控的…

conda下jupyter lab 多kernel

1.安装ipykernel pip install ipykernel2.手动添加 --kernel python -m ipykernel install --name tensorflow --display-name "tensroflow"3. 查看创建的kernel jupyter kernelspec list4. 修改配置文件kernel.json&#xff0c;使得已创建的kernel匹配 5. 修改配…

【Axure教程】根据标签数自动调整尺寸的多选下拉列表

​多选下拉列表常用于需要用户从一组选项中选择多个选项的情况。它提供了一个下拉菜单&#xff0c;用户可以点击展开并选择他们感兴趣的多个选项。多选下拉列表可以用于展示可选标签&#xff0c;并允许用户选择多个标签。例如&#xff0c;在一个博客发布界面上&#xff0c;可以…

【Flutter】如何在 Flutter 中获取设备 ID

文章目录 一、 前言二、 设备 ID 的重要性1. 什么是设备 ID2. 设备 ID 的作用 三、 在 Flutter 中获取设备 ID1. 需要的工具和库2. 简单代码示例3. 完整可以运行的代码 四、 注意事项1. 权限问题2. 设备兼容性问题 五、 总结 一、 前言 在移动应用开发中&#xff0c;有时我们需…

飞书小程序开发教程——获取app_access_token

前言 最近在玩飞书小程序&#xff0c;真是受够了某信的小程序&#xff0c;一坨坨的限制加恶心人的手段。体验了飞书加飞书文档的功能真的还是飞书好用&#xff0c;又可以定制机器人啥的真方便。 但是飞书除了开发者文档真没啥资料&#xff0c;估计没啥人写吧…本专栏后续就慢慢…

DVPP媒体数据处理视频编码问题案例

DVPP&#xff08;Digital Vision Pre-Processing&#xff09;是昇腾AI处理器内置的图像处理单元&#xff0c;通过AscendCL媒体数据处理接口提供强大的媒体处理硬加速能力&#xff0c;主要功能包括图像编解码、视频编解码、图像抠图缩放等。 本期就分享几个关于DVPP视频编码问题…

未磁科技全球首台64通道无液氦心磁图仪及首个培训基地落户北京安贞医院

【全球首台64通道无液氦心磁图仪在北京安贞医院举行开机仪式】 近日&#xff0c;在北京安贞医院举行了未磁科技全球首台64通道无液氦心磁图仪开机仪式&#xff0c;中国医学装备协会赵自林理事长、北京安贞医院纪智礼书记、张宏家院长、宋现涛教授&#xff0c;以及未磁科技蔡宾…

【离散化+枚举】代码源每日一题div2 全部相等

全部相等 - 题目 - Daimayuan Online Judge 题意&#xff1a; 思路&#xff1a; 首先&#xff0c;子序列最长&#xff0c;想到了DP&#xff0c;但是子序列DP&#xff0c;D不出来&#xff0c;所以要放弃想法 不难发现&#xff0c;这道题和顺序没有关系&#xff0c;所以可以说…

Vision Pro,难成初代iPhone

“一个全新的增强显示平台&#xff0c;一个革命性的新产品”&#xff0c;这是苹果CEO库克给Apple Vision Pro的评价。 当苹果拿出Vision Pro时&#xff0c;想必整个科技行业都感到震惊。这不仅是因为苹果时隔十六年后&#xff0c;再次在WWDC带来“革命性产品”&#xff0c;更是…

Ai 赋能|这 6 款免安装的工具,功能超神~

今天小呆给小伙伴们分享几款小巧好用的工具&#xff0c;功能非常实用&#xff0c;而且全都免费&#xff0c;值得大家使用&#xff01; 1、Pix Fix 修复画质损坏的图像 Pix Fix 是一个免费的线上图片工具&#xff0c;可以对过度压缩造成损毁的图片以算法为基础进行噪点的修复&…

【枚举+数学】代码源每日一题div2 数学

数学 - 题目 - Daimayuan Online Judge 题意&#xff1a; 思路&#xff1a; 首先把条件理一下 gcd(s1,s2)K 按照惯用套路 设 s1k1*K s2k2*K 那么就是(k1k2)*Ksum 所以K是sum的一个因子 因此只需要枚举sum的因子即可 但是注意数据范围&#xff1a;1e9 说明不能直接枚…

MySQL数据库加密

有时候为防止别人攻击数据库&#xff0c;直接读取修改数据&#xff0c;我们会对数据库数据进行加密。 一&#xff1a;AES_ENCRYPT(需要加密的数据,密钥) AES_DECRYPT(需要解密的数据,刚才的密钥) 如&#xff1a;update area set jiamiAES_ENCRYPT(test数据加密,miyao) where …

Python基础知识掌握之 字符串格式化

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 为了确保字符串按预期显示&#xff0c;我们可以使用 format() 方法对结果进行格式化。 字符串 format() format() 方法允许您格式化字符串的选定部分。 有时文本的一部分是你无法控制的&#xff0c;也许它们来自数据…

分享几个免费设计生成工具 (第二期)

今天来给大家分享几个国外免费的设计生成工具 A. Tools https://www.a.tools/ 一个免费实用的在线工具箱&#xff0c;提供了 85 个特色工具&#xff0c;包含图形图像、日期和时间、文本编辑器、解密和加密、编程与设计、图表生成器等等&#xff0c;还有热门的 AI聊天提示生成器…