flask+flask_sqlalchemy增删改查

简介: flask+flask_sqlalchemy增删改查

在使用Flask和Flask_SQLAlchemy之前,我们需要先安装这两个包。可以通过以下命令进行安装:

pip install Flask Flask_SQLAlchemy
bash

  1. 创建Flask应用与数据库模型

首先,我们需要先创建一个Flask应用,然后使用SQLAlchemy构建数据库模型。在这里,以一个简单的学生信息管理系统为例,创建一个学生类作为数据库模型。

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(name)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)

class Student(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
age = db.Column(db.Integer, nullable=False)
gender = db.Column(db.String(10), nullable=False)
python

上述代码创建了一个Flask应用,并且设置了SQLite数据库路径。然后定义了一个学生类,包括学生的编号、姓名、年龄和性别等属性。

  1. 创建接口实现CRUD

在使用Flask实现CRUD操作时,需要定义相应的API接口,包括创建、读取、更新和删除方法。

@app.route('/students', methods=['GET'])
def get_students():
students = Student.query.all()
result = {
'students': []
}
for student in students:
result['students'].append({
'id': student.id,
'name': student.name,
'age': student.age,
'gender': student.gender
})
return result

@app.route('/students/', methods=['GET'])
def get_student(id):
student = Student.query.get(id)
if student is None:
return {'message': 'Student not found'}
else:
return {
'id': student.id,
'name': student.name,
'age': student.age,
'gender': student.gender
}

@app.route('/students', methods=['POST'])
def create_student():
data = request.json
student = Student(name=data['name'], age=data['age'], gender=data['gender'])
db.session.add(student)
db.session.commit()
return {'message': 'Student created', 'id': student.id}

@app.route('/students/', methods=['PUT'])
def update_student(id):
data = request.json
student = Student.query.get(id)
if student is None:
return {'message': 'Student not found'}
else:
if 'name' in data:
student.name = data['name']
if 'age' in data:
student.age = data['age']
if 'gender' in data:
student.gender = data['gender']
db.session.commit()
return {'message': 'Student updated'}

@app.route('/students/', methods=['DELETE'])
def delete_student(id):
student = Student.query.get(id)
if student is None:
return {'message': 'Student not found'}
else:
db.session.delete(student)
db.session.commit()
return {'message': 'Student deleted'}
python

上述代码实现了读取所有学生、读取单个学生、创建学生、更新学生和删除学生等功能。其中,需要注意的是,读取单个学生、删除学生和更新学生的路由需要包含学生的id作为参数。

  1. 运行应用程序

最后,我们需要使用以下代码运行Flask应用程序:

if name == 'main':
db.create_all()
app.run(debug=True)
python

其中,db.create_all()代码用于创建数据库表。debug=True可以在开发阶段启用调试模式,方便调试。

至此,我们就通过Flask和Flask_SQLAlchemy实现了一个简单的学生信息管理系统,包括增删改查等基本操作。

相关文章
|
14天前
|
存储 前端开发 数据库
基于python flask 的图书管理系统,有登录界面,实现简单增删改查,可以做课程设计使用
本文介绍了一个基于Python Flask框架的图书管理系统,该系统具备登录界面,并实现了基本的增删改查功能,适合作为课程设计使用。
基于python flask 的图书管理系统,有登录界面,实现简单增删改查,可以做课程设计使用
|
3月前
|
安全 数据库连接 数据库
Flask数据库操作实战:增删改查一网打尽
【4月更文挑战第15天】本文介绍了在Flask中进行数据库操作的方法,包括选择数据库扩展(如Flask-SQLAlchemy)、配置数据库、定义模型以及执行CRUD操作。通过Flask-SQLAlchemy的ORM功能,开发者可以方便地管理数据库表和记录。文章详细展示了如何创建模型、添加、查询、更新和删除数据,并提到了高级查询和关系映射。此外,还提及了数据库迁移工具Flask-Migrate以及性能优化和安全性问题。了解这些基础,有助于开发者构建高效、安全的Flask Web应用。
|
数据库 Python
【Flask】Flask-SQLAlchemy的增删改查(CRUD)操作
Flask-SQLAlchemy的增删改查(CRUD)操作
|
数据可视化 Python
python开发低代码数据可视化大屏:flask_sqlalchemy增删改查语句
python开发低代码数据可视化大屏:flask_sqlalchemy增删改查语句
134 0
|
数据库 Python
Flask学习与项目实战5:通过SQLAlchemy连接数据库进行ORM模型的简单增删改查
是对于数据库的ORM的框架,直接操作模型,安装命令为pip install SQLAlchemy。 SQLAlchemy是一个独立的ORMR框架,可以独立于FLASK存在,也可以在Django中使用。 Flask-SQLAlchemy是对SQLAlchemy的一个封装,更适合在flask使用。
Flask学习与项目实战5:通过SQLAlchemy连接数据库进行ORM模型的简单增删改查
|
Python
用flask完成mongo的增删改查
用flask完成mongo的增删改查
153 0
|
1月前
|
监控 前端开发 API
实战指南:使用Python Flask与WebSocket实现高效的前后端分离实时系统
【7月更文挑战第18天】构建实时Web应用,如聊天室,可借助Python的Flask和WebSocket。安装Flask及Flask-SocketIO库,创建Flask应用,处理WebSocket事件。前端模板通过Socket.IO库连接服务器,发送和接收消息。运行应用,实现实时通信。此示例展现了Flask结合WebSocket实现前后端实时交互的能力。
148 3
|
2月前
|
开发框架 数据库 开发者
Web开发新境界:用Python玩转Django和Flask!
【6月更文挑战第12天】Python的Web开发框架Django和Flask各有千秋。Django是全能型框架,适合快速开发大型应用,提供ORM、模板引擎、URL路由和后台管理等全面功能。Flask则轻量级且灵活,适用于小型到中型应用,以其简单易用、高度可扩展和灵活路由著称。两者结合使用,能应对各种Web开发需求。
53 5
|
2月前
|
关系型数据库 MySQL 数据库
如何使用Python的Flask框架来构建一个简单的Web应用
如何使用Python的Flask框架来构建一个简单的Web应用
61 0
|
12天前
|
机器学习/深度学习 数据采集 数据可视化
【优秀python系统毕设】基于Python flask的气象数据可视化系统设计与实现,有LSTM算法预测气温
本文介绍了一个基于Python Flask框架开发的气象数据可视化系统,该系统集成了数据获取、处理、存储、LSTM算法气温预测以及多种数据可视化功能,旨在提高气象数据的利用价值并推动气象领域的发展。