Skip to content

ZoMaii/Flask-classic-studentsMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

学生管理系统(Flask + Gunicorn + Nginx)

一个简单的学生信息增删改查系统,基于Flask构建,适配生产环境部署。这个项目只适用于原理验证和培训学习,切勿直接使用。

环境要求

  • Python 3.8+
  • Nginx
  • pip

部署步骤

  1. 克隆/下载项目到服务器
  2. 创建虚拟环境:python -m venv venv
  3. 激活虚拟环境:source venv/bin/activate(Linux/Mac)或 venv\Scripts\activate(Windows)
  4. 安装依赖:pip install -r requirements.txt
  5. 修改Nginx配置文件中的项目路径,并重载Nginx:nginx -s reload
  6. 启动Gunicorn:gunicorn -c gunicorn.conf.py run:app
  7. 访问:http://你的服务器IP/api/students

快速调试

  1. 完成部署步骤的前4步
  2. 开启调试 python debug.py

不要直接在服务器端使用快速调试部署服务器,详细情况可查看响应报文和进程表现。

下面的 .env 可供参考,但不要直接使用!

# 数据库连接(SQLite)
DATABASE_URL=sqlite:///student.db
# 密钥(生产环境请修改为随机字符串)
SECRET_KEY=prod-secret-key-888888
# 调试模式(生产环境必须设为False)
FLASK_DEBUG=False

接口说明

  • GET /api/students:获取所有学生
  • GET /api/students/{id}:获取单个学生
  • POST /api/students:添加学生(JSON参数:name, age, gender, major)
  • PUT /api/students/{id}:修改学生
  • DELETE /api/students/{id}:删除学生

前后端技术性说明

更多参见 treeMap.sketch 文件,里面对于项目结构有较为完整说明。

  • 前端
    • 采用 GET , POST , PUT , DELETE 进行标准化开发,脚本属于承诺型,可链式响应。
    • 在默认模板中默认使用 Node 方式,个人推荐将 Flask 作为 models 层为 Nodejs 提供 API 使用,以方便应用各种前端框架。
    • 不要盲目地相信前端传递过来的数据,特别是面向用户的边缘部署。
  • 后端
    • 并未直接制作完成页面然后发送给客户端。如果需要较高的安全级别,需要自行补充。
    • Node 前端独立开发页面访问地址(默认展示)
    • JinJa 模板化页面访问地址

About

A classic project on deployment

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors