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

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

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

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

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

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

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


在这里插入图片描述

正文
在这里插入图片描述

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/ 来使用应用。

🍭总结

在这里插入图片描述

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

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
首先需要安装Flask和对应的数据库驱动,比如MySQL或者SQLite等。以MySQL为例,可以使用pymysql库来连接数据库。 在Flask中,可以使用Flask-SQLAlchemy来简化数据库操作。下面是一个示例代码,实现了对用户信息的增删改查操作: ```python from flask import Flask, request from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # 配置数据库连接信息 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost:3306/database_name' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) # 定义用户模型 class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) age = db.Column(db.Integer) def __repr__(self): return f'<User {self.id}: {self.name}, {self.age}>' # 添加用户 @app.route('/users', methods=['POST']) def add_user(): data = request.get_json() user = User(name=data['name'], age=data['age']) db.session.add(user) db.session.commit() return {'message': 'User added successfully'} # 查询所有用户 @app.route('/users', methods=['GET']) def get_all_users(): users = User.query.all() return {'users': [user.__dict__ for user in users]} # 查询单个用户 @app.route('/users/<int:user_id>', methods=['GET']) def get_user(user_id): user = User.query.filter_by(id=user_id).first() if user: return user.__dict__ else: return {'message': 'User not found'} # 更新用户信息 @app.route('/users/<int:user_id>', methods=['PUT']) def update_user(user_id): user = User.query.filter_by(id=user_id).first() if user: data = request.get_json() user.name = data['name'] user.age = data['age'] db.session.commit() return {'message': 'User updated successfully'} else: return {'message': 'User not found'} # 删除用户 @app.route('/users/<int:user_id>', methods=['DELETE']) def delete_user(user_id): user = User.query.filter_by(id=user_id).first() if user: db.session.delete(user) db.session.commit() return {'message': 'User deleted successfully'} else: return {'message': 'User not found'} if __name__ == '__main__': app.run() ``` 注意,在实际开发中需要对数据库连接进行安全处理,比如使用配置文件来存储敏感信息,以避免密码泄露等安全问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖申克的陪伴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值