零基础快速搭建可独立运行的学籍档案管理系统实操指南

前置准备

1. 环境准备

确认本地已安装Python 3.8及以上版本,打开命令提示符(Windows)或终端(Mac/Linux),执行python --version查看版本。若未安装,前往https://www.python.org/downloads/下载对应版本,安装时必须勾选“Add Python to PATH”选项,否则后续命令无法使用。执行以下命令安装Flask框架:

```pip install flask```

项目结构搭建

1. 创建目录与文件

在任意磁盘创建名为student_archive的文件夹,在该文件夹下新建4个对象:app.py(Flask主程序)、templates文件夹(存前端页面)、static文件夹(可选,后续优化样式)、student_archive.db(数据库文件,首次运行自动生成)。在templates文件夹下新建index.html,用于存放前端页面代码。

核心代码编写

1. Flask主程序(app.py)

将以下完整代码复制到app.py,所有逻辑专为学籍档案设计,无需修改可直接运行:

```python from flask import Flask, render_template, request, redirect, url_for import sqlite3 app = Flask(__name__) 获取数据库连接,支持按字段名访问数据 def get_db(): conn = sqlite3.connect('student_archive.db') conn.row_factory = sqlite3.Row return conn 主页路由:处理新增、查询操作 @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': 读取表单数据 student_id = request.form['student_id'].strip() name = request.form['name'].strip() major = request.form['major'].strip() enroll_date = request.form['enroll_date'].strip() 校验必填项 if not all([student_id, name, major, enroll_date]): return "所有字段为必填项,返回首页" 校验学号唯一性 conn = get_db() exist = conn.execute("SELECT 1 FROM students WHERE student_id = ?", (student_id,)).fetchone() if exist: conn.close() return "学号已存在,返回首页" 插入档案数据 conn.execute("INSERT INTO students (student_id, name, major, enroll_date) VALUES (?, ?, ?, ?)", (student_id, name, major, enroll_date)) conn.commit() conn.close() return redirect(url_for('index')) GET请求:查询所有档案并按入学时间倒序排列 conn = get_db() students = conn.execute("SELECT FROM students ORDER BY enroll_date DESC").fetchall() conn.close() return render_template('index.html', students=students) 删除档案路由 @app.route('/delete/') def delete(student_id): conn = get_db() conn.execute("DELETE FROM students WHERE student_id = ?", (student_id,)) conn.commit() conn.close() return redirect(url_for('index')) 首次运行自动创建档案表 def init_db(): conn = get_db() conn.execute(""" CREATE TABLE IF NOT EXISTS students ( id INTEGER PRIMARY KEY AUTOINCREMENT, student_id TEXT UNIQUE NOT NULL, name TEXT NOT NULL, major TEXT NOT NULL, enroll_date DATE NOT NULL ) """) conn.commit() conn.close() if __name__ == '__main__': init_db() 触发建表逻辑 app.run(debug=True) debug模式自动重载代码,便于调试 ```

2. 前端页面(index.html)

将以下代码复制到templates/index.html,包含新增表单与档案列表,无需额外依赖即可正常显示:

```html 学籍档案管理系统

学籍档案管理系统

已建档列表

{% for student in students %} {% endfor %}
学号 姓名 专业 入学日期 操作
{{ student.student_id }} {{ student.name }} {{ student.major }} {{ student.enroll_date }} 删除
```

运行与测试

1. 启动系统

进入student_archive文件夹的终端,执行命令:

```flask run```

零基础快速搭建可独立运行的学籍档案管理系统实操指南

必须在项目根目录(student_archive文件夹)执行该命令,否则Flask无法识别程序入口。

2. 功能测试

打开浏览器访问http://localhost:5000,完成以下验证:

  • 新增档案:输入唯一学号、姓名、专业,选择入学日期,点击“新增档案”,列表会显示新增内容;输入重复学号会触发提示,无法提交
  • 删除档案:点击任意档案的“删除”按钮,确认弹窗后该档案会从列表移除,避免误删

核心细节优化

1. 数据备份

系统使用SQLite数据库,核心数据存放在student_archive文件夹的student_archive.db文件中。备份时直接复制该文件即可,无需其他工具;恢复时将备份文件替换原文件,系统会自动加载数据

2. 格式校验强化

前端表单添加required属性(未填写时无法提交),后端同时校验必填项与学号唯一性,双重校验可确保档案数据的有效性,实际使用时可根据需求添加学号长度、专业格式等校验规则

3. 问题排查

若启动报错,优先检查:是否在项目根目录执行命令、Python版本是否为3.8+、是否成功安装Flask(重新执行pip install flask);debug模式下浏览器会显示详细错误信息,可快速定位问题。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统