基于 Python+Flask+MySQL 的图书管理系统开发之旅
图书管理系统,基于python+flask+mysql的前后端开发的图书管理系统。 包运行,附源码。

最近搞了个基于 Python、Flask 和 MySQL 的图书管理系统,感觉还挺有意思,今天就来和大家唠唠。
为啥选这仨货
Python 不用说了,简单易上手,生态丰富得很。Flask 作为轻量级 Web 框架,开发快速,灵活性高,对于咱这种想快速搭建系统的人来说,简直是福音。MySQL 嘛,老牌关系型数据库,稳定可靠,处理数据那叫一个得心应手。
环境搭建
首先得安装 Python,去官网下载最新版就行。安装好 Python 后,通过 pip 安装 Flask 和 mysql - connector - python。
pip install flask
pip install mysql - connector - python
数据库设计
图书管理系统嘛,肯定得有图书表、用户表这些基础的。
CREATE TABLE books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255),
isbn VARCHAR(13) UNIQUE
);
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL
);
图书表 books 里,id 是自增主键,每本书有个唯一的 id。title 存书名,不能为空;author 存作者;isbn 存国际标准书号,并且要求唯一。用户表 users 同理,username 要求唯一。
Flask 后端开发
先导入必要的库。
from flask import Flask, jsonify, request
import mysql.connector
app = Flask(__name__)
# 数据库连接
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="library"
)
mycursor = mydb.cursor()
这里创建了 Flask 应用实例 app,然后连接到 MySQL 数据库。注意把 host、user、password 和 database 根据自己的实际情况改改。
添加图书接口
@app.route('/books', methods=['POST'])
def add_book():
data = request.get_json()
title = data.get('title')
author = data.get('author')
isbn = data.get('isbn')
sql = "INSERT INTO books (title, author, isbn) VALUES (%s, %s, %s)"
val = (title, author, isbn)
mycursor.execute(sql, val)
mydb.commit()
return jsonify({"message": "Book added successfully"}), 201
这个接口接收前端传来的 JSON 数据,提取出 title、author 和 isbn,然后插入到数据库中。如果插入成功,返回状态码 201 和成功消息。
获取所有图书接口
@app.route('/books', methods=['GET'])
def get_all_books():
mycursor.execute("SELECT * FROM books")
books = mycursor.fetchall()
book_list = []
for book in books:
book_dict = {
"id": book[0],
"title": book[1],
"author": book[2],
"isbn": book[3]
}
book_list.append(book_dict)
return jsonify(book_list)
这个接口从数据库中查询所有图书,然后把结果整理成 JSON 格式返回给前端。
前端部分(简略说)
前端可以用 HTML、CSS 和 JavaScript 来写,通过 AJAX 调用 Flask 后端提供的接口。比如用 fetch 来获取图书列表:
fetch('/books')
.then(response => response.json())
.then(data => {
// 这里可以处理数据,比如渲染到页面上
console.log(data);
});
包运行及源码获取
把所有代码整理好,项目结构大概像这样:
project/
│
├── app.py
├── templates/
│ └── index.html
├── static/
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── script.js
└── requirements.txt
在 requirements.txt 里写上项目依赖:
Flask
mysql - connector - python
运行的时候,在项目根目录下打开终端,先安装依赖:
pip install -r requirements.txt
然后运行 Flask 应用:
python app.py
源码我就放在 [GitHub 仓库链接](这里记得替换成真实链接哈),大家可以去下载研究,有啥问题欢迎一起交流。

图书管理系统,基于python+flask+mysql的前后端开发的图书管理系统。 包运行,附源码。

这就是整个基于 Python+Flask+MySQL 的图书管理系统的开发过程啦,希望对大家有点帮助!


更多推荐

所有评论(0)