图书管理系统,基于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 是自增主键,每本书有个唯一的 idtitle 存书名,不能为空;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 数据库。注意把 hostuserpassworddatabase 根据自己的实际情况改改。

添加图书接口

@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 数据,提取出 titleauthorisbn,然后插入到数据库中。如果插入成功,返回状态码 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 的图书管理系统的开发过程啦,希望对大家有点帮助!

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐