Flask + MySQL 极简 Web 项目搭建

Flask + MySQL 极简 Web 项目搭建

一、项目结构(超干净)

|------------------------------------------------------------------------------------|
| Plain Text flask_demo/ ├── app.py # 主程序 ├── requirements.txt # 依赖 └── .env # 数据库配置 |

二、requirements.txt(直接复制)

|---------------------------------------------------------------|
| txt flask flask-sqlalchemy pymysql python-dotenv cryptography |

三、.env 数据库配置

|-------------------------------------------------------------------------------------|
| env DB_HOST=localhost DB_USER=root DB_PASSWORD=你的密码 DB_NAME=flask_demo DB_PORT=3306 |

四、app.py(app.py)(完整可运行代码)

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| python from flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy from dotenv import load_dotenv import os # 加载环境变量 load_dotenv() # 初始化 Flask app = Flask(name) # 连接 MySQL app.config'SQLALCHEMY_DATABASE_URI' = f"mysql+pymysql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@{os.getenv('DB_HOST')}:{os.getenv('DB_PORT')}/{os.getenv('DB_NAME')}" app.config'SQLALCHEMY_TRACK_MODIFICATIONS' = False # 初始化数据库 db = SQLAlchemy(app) # ==================== 数据库模型 ==================== class User(db.Model): tablename = "users" id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50)) email = db.Column(db.String(100), unique=True) age = db.Column(db.Integer) # ==================== 接口(CRUD) ==================== # 1. 创建用户 @app.route('/user', methods='POST') def create_user(): data = request.json user = User(name=data'name', email=data'email', age=data.get('age')) db.session.add(user) db.session.commit() return jsonify({"msg": "创建成功", "id": user.id}) # 2. 查询所有用户 @app.route('/users', methods='GET') def get_users(): users = User.query.all() res = {"id": u.id, "name": u.name, "email": u.email, "age": u.age} for u in users return jsonify(res) # 3. 查询单个用户 @app.route('/user/<int:id>', methods='GET') def get_user(id): user = User.query.get(id) if not user: return jsonify({"msg": "用户不存在"}), 404 return jsonify({"id": user.id, "name": user.name, "email": user.email, "age": user.age}) # 4. 更新用户 @app.route('/user/<int:id>', methods='PUT') def update_user(id): user = User.query.get(id) if not user: return jsonify({"msg": "用户不存在"}), 404 data = request.json user.name = data.get('name', user.name) user.email = data.get('email', user.email) user.age = data.get('age', user.age) db.session.commit() return jsonify({"msg": "更新成功"}) # 5. 删除用户 @app.route('/user/<int:id>', methods='DELETE') def delete_user(id): user = User.query.get(id) if not user: return jsonify({"msg": "用户不存在"}), 404 db.session.delete(user) db.session.commit() return jsonify({"msg": "删除成功"}) # 启动时创建表 with app.app_context(): db.create_all() # 启动 if name == 'main': app.run(debug=True) |

五、运行步骤(超级简单)

1. 安装依赖

|--------------------------------------|
| bash pip install -r requirements.txt |

2. 启动项目

|--------------------|
| bash python app.py |

3. 访问地址

|----------------------------------|
| Plain Text http://127.0.0.1:5000 |

4. 接口列表

  • POST /user → 创建用户
  • GET /users → 获取所有用户
  • GET /user/1 → 获取单个用户
  • PUT /user/1 → 更新用户
  • DELETE /user/1 → 删除用户

✅ 这个 Flask 项目特点

  • 代码最少
  • 结构最简单
  • 直接连接 MySQL
  • 完整 CRUD
  • 无命名冲突
  • 可直接运行
相关推荐
阿钱真强道18 小时前
30 嵌入式操作系统 | 上位机界面:Flask 网页显示 + 控制闭环
后端·python·flask
沐欣工作室_lvyiyi2 天前
基于Flask的旅游大数据分析与可视化系统(论文+源码)
python·flask·旅游
阿钱真强道3 天前
24 嵌入式操作系统 | 项目启动与环境准备(PyQt5 / Flask 两个“最小可跑“)
开发语言·qt·flask·架构设计·协议契约
龙腾AI白云4 天前
AI微调技术:让通用大模型精准适配垂直行业
数据库·人工智能·机器学习·flask·scikit-learn
小马哥程序开发4 天前
[点赞收藏免费领取 · 项目源码]37399民族服饰饰品商城小程序
sql·mysql·flask·源码·课程设计·程序开发·课设
czsmith5 天前
搭建 Flask Web 应用编程环境
flask
高级程序源13 天前
django招聘网站信息爬取与分析系统79704-计算机课程设计、毕业设计
后端·python·mysql·小程序·django·flask·课程设计
lpfasd12314 天前
配置文件格式对比 与 AI Coding 的选择逻辑
python·flask·numpy
troy12814 天前
Python 基础语法(九):Django/Flask/FastAPI 三大 Web 框架详细对比解析
python·jupyter·django·flask·github·fastapi
小白学大数据15 天前
Python 项目实战:用 Flask 构建生产级 MySQL 增删改查 REST API
开发语言·人工智能·python·mysql·flask