flask连接sqllite,并进行一些基本的增删改查操作

news2024/11/16 12:53:41
flask连接sqllite,并进行一些基本的增删改查操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JH8I9sJH-1689083323474)(0fe5bb9701654bf4b6652fa6d8cf6557.gif)]

😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦!😄

✨座右铭:宝剑锋从磨砺出,梅花香自苦寒来。

⛪️个人主页:点击进入博客主页

🚀欢迎大家浏览博主的文章!在阅读过程中,如果发现需要纠正的地方,请不吝指出,愿能与诸君共同进步!

文章目录

    • 🍭步骤1:安装Flask
    • 🍭步骤2:创建一个Flask应用
    • 🍭步骤3:连接SQLite数据库
    • 🍭步骤4:创建路由和视图函数
    • 🍭步骤5:创建HTML模板
    • 🍭步骤6:运行Flask应用
  • 🍭总结


在这里插入图片描述

正文
在这里插入图片描述

Flask是一个轻量级的Web应用框架,用于构建基于Python的Web应用程序。它被设计为简单而灵活,使开发者能够快速创建具有强大功能的Web应用。

以下是一些关键特点和概念:

简单易用: Flask的设计理念是保持简洁、直观且易于上手。它没有复杂的依赖关系或强制性的项目结构。只需安装Flask并开始编写代码,你就能快速上手。

路由: 在Flask中,你可以使用装饰器定义URL路由和处理程序函数之间的关系。通过在装饰器中指定URL规则和HTTP方法,Flask能够将请求路由到正确的处理程序函数。

模板: Flask内置了一个灵活且强大的模板引擎(Jinja2),用于构建动态的HTML页面。你可以在模板中使用逻辑控制语句、变量和过滤器,以便更好地组织和呈现你的应用程序数据。

会话管理: Flask提供了会话管理功能,允许你在客户端和服务器之间存储和访问用户数据。这对于实现用户登录、认证和个性化体验非常有用。

扩展: Flask拥有丰富的扩展生态系统,允许你轻松地集成其他功能和服务,如数据库访问、认证、缓存等。有许多强大的Flask扩展可供选择,以满足不同项目的需求。
当需要构建一个简单的Web应用并与数据库进行交互时,Flask是一个强大的选择。Flask是一个轻量级的Python Web框架,可以轻松连接到SQLite数据库并执行基本的增删改查(CRUD)操作。在本文中,我们将介绍如何使用Flask连接SQLite数据库,并演示一些基本的CRUD操作。

🍭步骤1:安装Flask

首先,确保你已经安装了Flask。你可以使用以下命令来安装:

pip install flask

🍭步骤2:创建一个Flask应用

创建一个Python文件,命名为app.py,并编写以下代码来初始化一个Flask应用:

from flask import Flask, request, render_template
import sqlite3

app = Flask(__name)
app.config['DATABASE'] = 'mydatabase.db'

🍭步骤3:连接SQLite数据库

接下来,我们将创建一个函数来连接到SQLite数据库:

def get_db():
    db = sqlite3.connect(app.config['DATABASE'])
    db.row_factory = sqlite3.Row
    return db

def init_db():
    with app.app_context():
        db = get_db()
        with app.open_resource('schema.sql', mode='r') as f:
            db.cursor().executescript(f.read())
        db.commit()

在这里,我们定义了一个get_db()函数来获取数据库连接,还有一个init_db()函数来初始化数据库,使用一个名为schema.sql的SQL文件来创建数据表。你需要创建一个schema.sql文件来定义数据库表的结构。

🍭步骤4:创建路由和视图函数

接下来,我们将创建一些路由和视图函数来执行CRUD操作。以下是一些基本的示例:

@app.route('/')
def index():
    db = get_db()
    data = db.execute('SELECT * FROM items').fetchall()
    db.close()
    return render_template('index.html', data=data)

@app.route('/add', methods=['POST'])
def add_item():
    if request.method == 'POST':
        db = get_db()
        name = request.form['name']
        db.execute('INSERT INTO items (name) VALUES (?)', (name,))
        db.commit()
        db.close()
    return redirect(url_for('index'))

@app.route('/edit/<int:item_id>', methods=['GET', 'POST'])
def edit_item(item_id):
    if request.method == 'POST':
        db = get_db()
        new_name = request.form['name']
        db.execute('UPDATE items SET name = ? WHERE id = ?', (new_name, item_id))
        db.commit()
        db.close()
        return redirect(url_for('index'))

    db = get_db()
    item = db.execute('SELECT * FROM items WHERE id = ?', (item_id,)).fetchone()
    db.close()
    return render_template('edit.html', item=item)

@app.route('/delete/<int:item_id>')
def delete_item(item_id):
    db = get_db()
    db.execute('DELETE FROM items WHERE id = ?', (item_id,))
    db.commit()
    db.close()
    return redirect(url_for('index'))

🍭步骤5:创建HTML模板

你需要创建HTML模板,以便在浏览器中呈现数据和表单。在你的Flask应用目录下创建一个名为templates的文件夹,并在其中创建index.htmledit.html等HTML文件。

🍭步骤6:运行Flask应用

在你的应用文件的末尾,添加以下代码来运行Flask应用:

if __name__ == '__main__':
    app.run()

然后,在终端中执行以下命令:

flask run

你的Flask应用将在本地启动,可以在浏览器中访问http://localhost:5000/ 来使用应用。

🍭总结

在这里插入图片描述

感谢浏览!
如果这篇文章对您有帮助,请点个小赞吧,愿能与诸君共同进步!

在这里插入图片描述

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

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

相关文章

docker部署prometheus+grafana服务器监控(三) - 配置grafana

查看 prometheus 访问 http://ip:9090/targets&#xff0c;效果如下&#xff0c;上面我们通过 node_exporter 收集的节点状态是 up 状态。 配置 Grafana 访问 http://ip:3000&#xff0c;登录 Grafana&#xff0c;默认的账号密码是 admin:admin&#xff0c;首次登录需要修改…

【STM32】HAL库ADC多通道精准测量(采用VREFINT内部参考电压)

【STM32】HAL库ADC多通道精准测量&#xff08;采用VREFINT内部参考电压&#xff09; 文章目录 多通道测量VREFINTADC采样周期多通道配置 附录&#xff1a;Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时 位带操作…

如何在Android Termux上安装MySQL并实现公网远程访问?

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…

Django 地址接口开发

应用 Mixin 混合类进行收货地址接口开发 python ../manage.py startapp address继承了mixins扩展类&#xff0c;进到里面可以稍微看下源码 该方法帮我们实现了获取验证及保存的功能 address/views from rest_framework.generics import GenericAPIView from rest_framewo…

北大提出RestGPT框架,通过RESTful API控制真实应用的Agent

©PaperWeekly 原创 作者 | 宋一帆 单位 | 北京大学计算语言学研究所博士生 研究方向 | 自然语言处理 论文题目&#xff1a; RestGPT: Connecting Large Language Models with Real-World RESTful APIs 论文链接&#xff1a; https://arxiv.org/abs/2306.06624 代码链接&a…

【哈希数组】【字符串 转化为 字符数组】Leetcode 383 赎金信

【哈希表】【字符串 转化为 字符数组】Leetcode 383 赎金信 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray ⭐️String 转化为 字符数组char[ ] .toCharArray 解法1 【哈希数组】 String 转化为 字符数组char[ ] .toCharArray 时间复杂度O(N) 这个解决方案…

自学(黑客技术)方法——网络安全

如果你想自学网络安全&#xff0c;首先你必须了解什么是网络安全&#xff01;&#xff0c;什么是黑客&#xff01;&#xff01; 1.无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面性&#xff0c;例如 Web 安全技术&#xff0c;既有 Web 渗透2.也有 Web 防…

CouchDB简单入门

CouchDB 1.curl命令 RESTful 新增&#xff1a;POST请求修改&#xff1a;PUT请求删除&#xff1a;DELETE请求查找&#xff1a;GET请求 查看数据库有哪些 curl -X GET http://admin:123456localhost:5984/_all_dbsadmin: 用户名 123456:改成自己密码 创建数据库 curl -X PU…

unity脚本_Mathf和Math c#

首先创建一个脚本 当我们要做一个值趋近于一个值变化时 可以用Mathf.Lerp(start,end,time);方法实现 比如物体跟随

Docker:创建主从复制的Redis集群

一、Redis集群 在实际项目里&#xff0c;一般不会简单地只在一台服务器上部署Redis服务器&#xff0c;因为单台Redis服务器不能满足高并发的压力&#xff0c;另外如果该服务器或Redis服务器失效&#xff0c;整个系统就可能崩溃。项目里一般会用主从复制的模式来提升性能&#x…

基于数字电路交通灯信号灯控制系统设计-单片机设计

**单片机设计介绍&#xff0c;1617基于数字电路交通灯信号灯控制系统设计&#xff08;仿真电路&#xff0c;论文报告 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序文档 六、 文章目录 一 概要 交通灯控制系统在城市交通控制中发挥着重要的作用&#xf…

谷粒商城一

谷粒商城一 1. 项目介绍1.1 微服务架构图1.2 微服务划分图 2. 项目环境搭建2.1 虚拟机搭建环境2.2 Linux 安装 docker、配置镜像加速2.3 Docker 配置 MySQL、设置自启动2.3.1 安装 MySQL5.72.3.2 修改 mysql 配置文件 2.4 Docker 配置 Redis 并设置持久化2.5 安装 jdk Maven 镜…

接口自动化测试_L4

目录&#xff1a; 接口加密与解密 ​​​​​​​环境准备原理实战练习多套被测环境 ​​​​​​​多环境介绍多套被测环境切换的意义和价值实现目标实现方案-环境管理环境切换通过环境变量进行切换使用命令行进行切换多响应类型封装设计 ​​​​​​​​​​​​​​多协议…

解决LOGITECH 罗技驱动 MAC版出现的一些问题汇总!

安装前将之前的安装文件清理干净&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 罗技驱动最新安装包下载 我的鼠标是G304 1. 驱动安装一直卡在99% 运行官方下载的安装程序&#xff0c;卡住后关掉窗口。 在终端中执行以下命令&#xff1a; sudo /Users/用户名…

HarmonyOS第一课运行Hello World

前言 俗话说&#xff0c;工欲善其事必先利其器。鸿蒙第一课&#xff0c;我们先从简单的Hello World运行说起。要先运行Hello World&#xff0c;那么我们必须搭建HarmonyOS的开发环境。 下载与安装DevEco Studio 在HarmonyOS应用开发学习之前&#xff0c;需要进行一些准备工作&a…

FoLR:Focus on Local Regions for Query-based Object Detection论文学习笔记

论文地址&#xff1a;https://arxiv.org/abs/2310.06470 自从DETR问询式检测器首次亮相以来&#xff0c;基于查询的方法在目标检测中引起了广泛关注。然而&#xff0c;这些方法面临着收敛速度慢和性能亚优等挑战。值得注意的是&#xff0c;在目标检测中&#xff0c;自注意力机制…

NanoPC-T4 RK3399:DTS之io-domain,FAN

前言: 之后所有改动均是基于rk3399-evb.dts修改以满足NanoPC-T4功能正常。 NanoPC-T4开发板上有一片散热风扇,本章将讲述使风扇正常工作起来的多种方法。 一:硬件分析 GPIO4_C6/PWM1:实际控制风扇引脚,GPIO与PWM复用 输入高电平1:FAN2pin电路导通,风扇转动 输入低电…

dc8靶机攻略

dc8 扫描 渗透 先访问主页探查 该主页的url看似存在sql注入 断点注入一下看看有没有报错 发现报错&#xff0c;存在sql注入 使用sqlmap 爆库 sqlmap -u http://10.4.7.151 -current-db爆表 sqlmap -u http://10.4.7.151/?nid2 --tables -D "d7db"发现user表 …

【Unity3D】Unity与Android交互

1 Unity 发布 apk 1.1 安装 Android Build Support 在 Unity Hub 中打开添加模块窗口&#xff0c;操作如下。 选择 Android Build Support 安装&#xff0c;如下&#xff08;笔者这里已安装过&#xff09;。 创建一个 Unity 项目&#xff0c;依次点击【File→Build Settings→…

Office技巧(持续更新)(Word、Excel、PPT、PowerPoint、连续引用、标题、模板、论文)

1. Word 1.1 标题设置为多级列表 选住一级标题&#xff0c;之后进行“定义新的多级列表” 1.2 图片和表的题注自动排序 正常插入题注后就可以了。如果一级标题是 “汉字序号”&#xff0c;那么需要对题注进行修改&#xff1a; 从原来的 图 { STYLEREF 1 \s }-{ SEQ 图 \* A…