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实现了一个简单的学生信息管理系统,包括增删改查等基本操作。

相关文章
|
4月前
|
存储 前端开发 数据库
基于python flask 的图书管理系统,有登录界面,实现简单增删改查,可以做课程设计使用
本文介绍了一个基于Python Flask框架的图书管理系统,该系统具备登录界面,并实现了基本的增删改查功能,适合作为课程设计使用。
基于python flask 的图书管理系统,有登录界面,实现简单增删改查,可以做课程设计使用
|
7月前
|
安全 数据库连接 数据库
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增删改查语句
155 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的增删改查
179 0
|
21天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
59 2
|
1月前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
33 2
|
1月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
30 1
|
12天前
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API